Remove references to $rootScope.Shared & .Content in non-view code.
Instead, have them request services that return them so tests don’t need to prepare special state.
This commit is contained in:
@@ -4,9 +4,9 @@ describe('Filters Controller', function() {
|
||||
var scope, user;
|
||||
|
||||
beforeEach(module('habitrpg'));
|
||||
beforeEach(inject(function($rootScope, $controller) {
|
||||
beforeEach(inject(function($rootScope, $controller, Shared) {
|
||||
user = {filters: {}};
|
||||
window.habitrpgShared.wrap(user);
|
||||
Shared.wrap(user);
|
||||
scope = $rootScope.$new();
|
||||
$controller('FiltersCtrl', {$scope: scope, User: {user: user}});
|
||||
}));
|
||||
@@ -18,11 +18,11 @@ describe('Filters Controller', function() {
|
||||
expect(user.tags[0]).to.have.property('id');
|
||||
});
|
||||
|
||||
it('toggles tag filtering', function(){
|
||||
var tag = {id: window.habitrpgShared.uuid(), name: 'myTag'};
|
||||
it('toggles tag filtering', inject(function(Shared){
|
||||
var tag = {id: Shared.uuid(), name: 'myTag'};
|
||||
scope.toggleFilter(tag);
|
||||
expect(user.filters[tag.id]).to.eql(true);
|
||||
scope.toggleFilter(tag);
|
||||
expect(user.filters[tag.id]).to.eql(false);
|
||||
})
|
||||
});
|
||||
}))
|
||||
});
|
||||
|
||||
@@ -4,20 +4,19 @@ describe('Inventory Controller', function() {
|
||||
var scope, ctrl, user, $rootScope;
|
||||
|
||||
beforeEach(module('habitrpg'));
|
||||
beforeEach(inject(function($rootScope, $controller){
|
||||
beforeEach(inject(function($rootScope, $controller, Shared){
|
||||
user = {
|
||||
balance: 4,
|
||||
stats: {gp: 0},
|
||||
items: {eggs: {Cactus: 1}, hatchingPotions: {Base: 1}, food: {Meat: 1}, pets: {}},
|
||||
};
|
||||
window.habitrpgShared.wrap(user);
|
||||
Shared.wrap(user);
|
||||
var mockWindow = {
|
||||
confirm: function(msg){
|
||||
return true;
|
||||
}
|
||||
};
|
||||
scope = $rootScope.$new();
|
||||
$rootScope.Content = window.habitrpgShared.content;
|
||||
ctrl = $controller('InventoryCtrl', {$scope: scope, User: {user: user}, $window: mockWindow});
|
||||
}));
|
||||
|
||||
@@ -74,9 +73,9 @@ describe('Inventory Controller', function() {
|
||||
expect(user.items.currentPet).to.eql('Cactus-Base');
|
||||
});
|
||||
|
||||
it('purchases an egg', function(){
|
||||
scope.purchase('eggs', window.habitrpgShared.content.eggs['Wolf']);
|
||||
it('purchases an egg', inject(function(Content){
|
||||
scope.purchase('eggs', Content.eggs['Wolf']);
|
||||
expect(user.balance).to.eql(3.25);
|
||||
expect(user.items.eggs).to.eql({Cactus: 1, Wolf: 1})
|
||||
});
|
||||
}));
|
||||
});
|
||||
|
||||
@@ -6,16 +6,10 @@ describe('memberServices', function() {
|
||||
beforeEach(module('memberServices'));
|
||||
beforeEach(module('habitrpg'));
|
||||
|
||||
beforeEach(function(){
|
||||
inject(function(_$httpBackend_, $rootScope){
|
||||
$httpBackend = _$httpBackend_;
|
||||
$rootScope.Shared = window.habitrpgShared;
|
||||
});
|
||||
// $rootScope.Shared is set, so now we can inject Members
|
||||
inject(function(Members){
|
||||
members = Members;
|
||||
});
|
||||
});
|
||||
beforeEach(inject(function (_$httpBackend_, Members) {
|
||||
$httpBackend = _$httpBackend_;
|
||||
members = Members;
|
||||
}));
|
||||
|
||||
it('has no members at the beginning', function() {
|
||||
expect(members.members).to.be.an('object');
|
||||
@@ -43,4 +37,4 @@ describe('memberServices', function() {
|
||||
expect(members.members).to.have.property(uid);
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,8 +8,7 @@ describe('userServices', function() {
|
||||
|
||||
beforeEach(function(){
|
||||
module(function($provide){
|
||||
var habitrpgShared = {helpers: {newUser: sinon.spy()}};
|
||||
$window = {href: '', alert: sinon.spy(), location: {search: '', pathname: ''}, habitrpgShared: habitrpgShared};
|
||||
$window = {href: '', alert: sinon.spy(), location: {search: '', pathname: ''}};
|
||||
$provide.value('$window', $window);
|
||||
});
|
||||
|
||||
@@ -48,4 +47,4 @@ describe('userServices', function() {
|
||||
//TODO where does that null comes from?
|
||||
expect(user.settings.sync.queue).to.eql([null, {}]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user