mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Use specHelper to create mock challenges
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user