test(quests): Quests Service spec WIP

First test on new Quests Service. Also fix Armoire tests to account for new items.
This commit is contained in:
Sabe Jones
2015-07-13 19:16:29 -05:00
parent b9f795529b
commit 266b6b87e2
4 changed files with 77 additions and 3 deletions

View File

@@ -0,0 +1,58 @@
'use strict';
describe('Quests Service', function() {
var questsService, user, quest;
beforeEach(function() {
user = specHelper.newUser();
user.achievements.quests = {};
quest = {lvl:20};
module(function($provide) {
$provide.value('User', {user: user});
});
inject(function(Quests) {
questsService = Quests;
});
});
context('functions', function() {
describe('lock quest', function() {
it('locks quest when user does not meet level requirement', function() {
user.stats.lvl = 15;
expect(questsService.lockQuest(quest)).to.be(true);
});
it('does not lock quest if we ignore level requirement', function() {
user.stats.lvl = 15;
expect(questsService.lockQuest(quest,true)).to.be(false);
});
it('does not lock quest if user meets level requirement', function() {
user.stats.lvl = 20;
expect(questsService.lockQuest(quest)).to.be(false);
});
it('locks quest if user has not completed previous quest in series', function() {
quest.previous = 'priorQuest';
user.stats.lvl = 25;
expect(questsService.lockQuest(quest)).to.be(true);
});
it('does not lock quest if user has completed previous quest in series', function() {
quest.previous = 'priorQuest';
user.stats.lvl = 25;
user.achievements.quests.priorQuest = 1;
expect(questsService.lockQuest(quest)).to.be(false);
});
});
});
});