mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-10-27 19:22:55 +01:00
65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
describe('userServices', function() {
|
|
var $httpBackend, $window, user, STORAGE_USER_ID, STORAGE_SETTINGS_ID;
|
|
|
|
beforeEach(module('habitrpg'));
|
|
|
|
beforeEach(function(){
|
|
module(function($provide){
|
|
$window = {href: '', alert: sandbox.spy(), location: {search: '', pathname: '', href: ''}};
|
|
$provide.value('$window', $window);
|
|
});
|
|
|
|
inject(function(_$httpBackend_, User, _STORAGE_USER_ID_, _STORAGE_SETTINGS_ID_) {
|
|
$httpBackend = _$httpBackend_;
|
|
user = User;
|
|
STORAGE_USER_ID = _STORAGE_USER_ID_;
|
|
STORAGE_SETTINGS_ID = _STORAGE_SETTINGS_ID_;
|
|
});
|
|
localStorage.removeItem(STORAGE_SETTINGS_ID);
|
|
localStorage.removeItem(STORAGE_USER_ID);
|
|
});
|
|
|
|
it('checks online status', function(){
|
|
user.online(true);
|
|
expect(user.settings.online).to.be.true;
|
|
user.online(false);
|
|
expect(user.settings.online).to.be.false;
|
|
})
|
|
|
|
it('saves user data to local storage', function(){
|
|
user.save();
|
|
var settings = JSON.parse(localStorage[STORAGE_SETTINGS_ID]);
|
|
expect(settings).to.eql(user.settings);
|
|
});
|
|
|
|
xit('alerts when not authenticated', function(){
|
|
user.log();
|
|
expect($window.alert).to.have.been.calledWith("Not authenticated, can't sync, go to settings first.");
|
|
});
|
|
|
|
xit('puts items in que queue', function(){
|
|
user.log({});
|
|
//TODO where does that null comes from?
|
|
expect(user.settings.sync.queue).to.eql([null, {}]);
|
|
});
|
|
|
|
describe('getBalanceInGems', function() {
|
|
|
|
it('multiplies balance by 4', function() {
|
|
user.user.balance = 5;
|
|
var balanceInGems = user.getBalanceInGems();
|
|
|
|
expect(balanceInGems).to.eql(20);
|
|
});
|
|
|
|
it('returns zero if balance is not defined', function() {
|
|
var balanceInGems = user.getBalanceInGems();
|
|
|
|
expect(user.user.balance).to.not.exist;
|
|
expect(balanceInGems).to.eql(0);
|
|
});
|
|
});
|
|
});
|