mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 23:27:26 +01:00
Added tests for removing task
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
describe('Tasks Controller', function() {
|
||||
var $rootScope, shared, scope, user, ctrl;
|
||||
var $rootScope, shared, scope, user, User, ctrl;
|
||||
|
||||
beforeEach(function() {
|
||||
user = specHelper.newUser();
|
||||
User = {
|
||||
user: user
|
||||
};
|
||||
User.user.ops = {
|
||||
deleteTask: sandbox.stub(),
|
||||
};
|
||||
module(function($provide) {
|
||||
$provide.value('User', {user: user});
|
||||
$provide.value('User', User);
|
||||
$provide.value('Guide', {});
|
||||
});
|
||||
|
||||
@@ -14,9 +20,9 @@ describe('Tasks Controller', function() {
|
||||
|
||||
scope = $rootScope.$new();
|
||||
shared = Shared;
|
||||
$controller('RootCtrl', {$scope: scope, User: {user: user}});
|
||||
$controller('RootCtrl', {$scope: scope, User: User});
|
||||
|
||||
ctrl = $controller('TasksCtrl', {$scope: scope, User: {user: user}});
|
||||
ctrl = $controller('TasksCtrl', {$scope: scope, User: User});
|
||||
|
||||
});
|
||||
});
|
||||
@@ -29,6 +35,32 @@ describe('Tasks Controller', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('removeTask', function() {
|
||||
var task;
|
||||
|
||||
beforeEach(function() {
|
||||
sandbox.stub(window, 'confirm');
|
||||
task = specHelper.newTodo();
|
||||
});
|
||||
|
||||
it('asks user to confirm deletion', function() {
|
||||
scope.removeTask(task);
|
||||
expect(window.confirm).to.be.calledOnce;
|
||||
});
|
||||
|
||||
it('does not remove task if not confirmed', function() {
|
||||
window.confirm.returns(false);
|
||||
scope.removeTask(task);
|
||||
expect(user.ops.deleteTask).to.not.be.called;
|
||||
});
|
||||
|
||||
it('removes task', function() {
|
||||
window.confirm.returns(true);
|
||||
scope.removeTask(task);
|
||||
expect(user.ops.deleteTask).to.be.calledOnce;
|
||||
});
|
||||
});
|
||||
|
||||
describe('watch to updateStore', function() {
|
||||
it('updates itemStore when user gear changes', function() {
|
||||
sinon.stub(shared, 'updateStore').returns({item: true});
|
||||
|
||||
Reference in New Issue
Block a user