Use specHelper to create mock challenges

This commit is contained in:
Blade Barringer
2015-07-24 12:45:43 -05:00
parent 32ebc8734e
commit 12e0bda8a2

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
describe('Challenges Controller', function() { describe('Challenges Controller', function() {
var $rootScope, scope, user, User, ctrl, challenges, groups, notification, state; var $rootScope, scope, user, User, ctrl, groups, notification, state;
beforeEach(function() { beforeEach(function() {
module(function($provide) { module(function($provide) {
@@ -15,7 +15,7 @@ describe('Challenges Controller', function() {
$provide.value('User', User); $provide.value('User', User);
}); });
inject(function($rootScope, $controller, _$state_, _Challenges_, _Groups_, _Notification_){ inject(function($rootScope, $controller, _$state_, _Groups_, _Notification_){
user = specHelper.newUser(); user = specHelper.newUser();
user._id = "unique-user-id"; user._id = "unique-user-id";
@@ -26,7 +26,6 @@ describe('Challenges Controller', function() {
ctrl = $controller('ChallengesCtrl', {$scope: scope, User: User}); ctrl = $controller('ChallengesCtrl', {$scope: scope, User: User});
challenges = _Challenges_;
groups = _Groups_; groups = _Groups_;
notification = _Notification_; notification = _Notification_;
state = _$state_; state = _$state_;
@@ -38,63 +37,31 @@ describe('Challenges Controller', function() {
var ownMem, ownNotMem, notOwnMem, notOwnNotMem; var ownMem, ownNotMem, notOwnMem, notOwnNotMem;
beforeEach(function() { beforeEach(function() {
ownMem = new challenges.Challenge({ ownMem = specHelper.newChallenge({
name: 'test',
description: 'You are the owner and member', description: 'You are the owner and member',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id, leader: user._id,
group: "test",
timestamp: +(new Date),
members: [user], members: [user],
official: false,
_isMember: true _isMember: true
}); });
ownNotMem = new challenges.Challenge({ ownNotMem = specHelper.newChallenge({
name: 'test',
description: 'You are the owner, but not a member', description: 'You are the owner, but not a member',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id, leader: user._id,
group: "test",
timestamp: +(new Date),
members: [], members: [],
official: false,
_isMember: false _isMember: false
}); });
notOwnMem = new challenges.Challenge({ notOwnMem = specHelper.newChallenge({
name: 'test',
description: 'Not owner but a member', description: 'Not owner but a member',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: {_id:"test"}, leader: {_id:"test"},
group: "test",
timestamp: +(new Date),
members: [user], members: [user],
official: false,
_isMember: true _isMember: true
}); });
notOwnNotMem = new challenges.Challenge({ notOwnNotMem = specHelper.newChallenge({
name: 'test',
description: 'Not owner or member', description: 'Not owner or member',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: {_id:"test"}, leader: {_id:"test"},
group: "test",
timestamp: +(new Date),
members: [], members: [],
official: false,
_isMember: false _isMember: false
}); });
@@ -237,18 +204,11 @@ describe('Challenges Controller', function() {
alert = sandbox.stub(window, "alert"); alert = sandbox.stub(window, "alert");
}); });
it("opens an alert box if challenge.group is not specified", function() { it("opens an alert box if challenge.group is not specified", function()
var challenge = new challenges.Challenge({ {
var challenge = specHelper.newChallenge({
name: 'Challenge without a group', name: 'Challenge without a group',
description: '', group: null
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id,
timestamp: +(new Date),
members: [],
official: false
}); });
scope.save(challenge); scope.save(challenge);
@@ -258,19 +218,9 @@ describe('Challenges Controller', function() {
}); });
it("opens an alert box if isNew and user does not have enough gems", function() { it("opens an alert box if isNew and user does not have enough gems", function() {
var challenge = new challenges.Challenge({ var challenge = specHelper.newChallenge({
name: 'Challenge without enough gems', name: 'Challenge without enough gems',
description: '', prize: 5
habits: [],
dailys: [],
todos: [],
rewards: [],
prize: 5,
leader: user._id,
group: "a-group-id",
timestamp: +(new Date),
members: [],
official: false
}); });
scope.maxPrize = 4; scope.maxPrize = 4;
@@ -281,22 +231,11 @@ describe('Challenges Controller', function() {
}); });
it("saves the challenge if user does not have enough gems, but the challenge is not new", function() { it("saves the challenge if user does not have enough gems, but the challenge is not new", function() {
var challenge = new challenges.Challenge({ var challenge = specHelper.newChallenge({
_id: 'challeng-id', // challenge has id, so it's not new _id: 'challenge-has-id-so-its-not-new',
name: 'Challenge without enough gems', name: 'Challenge without enough gems',
description: '',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id,
group: "a-group-id",
prize: 5, prize: 5,
timestamp: +(new Date), $save: sandbox.spy() // stub $save
members: [],
official: false,
// Mock $save
$save: sandbox.spy()
}); });
scope.maxPrize = 0; scope.maxPrize = 0;
@@ -307,21 +246,10 @@ describe('Challenges Controller', function() {
}); });
it("saves the challenge if user has enough gems and challenge is new", function() { it("saves the challenge if user has enough gems and challenge is new", function() {
var challenge = new challenges.Challenge({ var challenge = specHelper.newChallenge({
name: 'Challenge without enough gems', name: 'Challenge without enough gems',
description: '',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id,
group: "a-group-id",
prize: 5, prize: 5,
timestamp: +(new Date), $save: sandbox.spy() // stub $save
members: [],
official: false,
// Mock $save
$save: sandbox.spy()
}); });
scope.maxPrize = 5; scope.maxPrize = 5;
@@ -336,22 +264,8 @@ describe('Challenges Controller', function() {
saveSpy.yields({_id: 'challenge-id'}); saveSpy.yields({_id: 'challenge-id'});
sandbox.stub(state, 'transitionTo'); sandbox.stub(state, 'transitionTo');
var challenge = new challenges.Challenge({ var challenge = specHelper.newChallenge({
_id: 'challenge-id', $save: saveSpy // stub $save
name: 'Challenge without enough gems',
description: '',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id,
group: "a-group-id",
prize: 5,
timestamp: +(new Date),
members: [],
official: false,
// Mock $save
$save: saveSpy
}); });
scope.save(challenge); scope.save(challenge);
@@ -370,21 +284,8 @@ describe('Challenges Controller', function() {
var saveSpy = sandbox.stub(); var saveSpy = sandbox.stub();
saveSpy.yields({_id: 'new-challenge'}); saveSpy.yields({_id: 'new-challenge'});
var challenge = new challenges.Challenge({ var challenge = specHelper.newChallenge({
name: 'Challenge without enough gems', $save: saveSpy // stub $save
description: '',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id,
group: "a-group-id",
prize: 5,
timestamp: +(new Date),
members: [],
official: false,
// Mock $save
$save: saveSpy
}); });
scope.save(challenge); scope.save(challenge);
@@ -397,21 +298,8 @@ describe('Challenges Controller', function() {
saveSpy.yields({_id: 'new-challenge'}); saveSpy.yields({_id: 'new-challenge'});
sinon.stub(notification, 'text'); sinon.stub(notification, 'text');
var challenge = new challenges.Challenge({ var challenge = specHelper.newChallenge({
name: 'Challenge without enough gems', $save: saveSpy // stub $save
description: '',
habits: [],
dailys: [],
todos: [],
rewards: [],
leader: user._id,
group: "a-group-id",
prize: 5,
timestamp: +(new Date),
members: [],
official: false,
// Mock $save
$save: saveSpy
}); });
scope.save(challenge); scope.save(challenge);