habitica/test/spec/memberServicesSpec.js

46 lines
1.1 KiB
JavaScript
Raw Normal View History

2013-10-20 02:33:27 +00:00
'use strict';
describe('memberServices', function() {
var $httpBackend, members;
beforeEach(module('memberServices'));
beforeEach(module('habitrpg'));
2014-01-14 02:09:11 +00:00
beforeEach(function(){
inject(function(_$httpBackend_, $rootScope){
2013-10-20 02:33:27 +00:00
$httpBackend = _$httpBackend_;
2014-01-14 02:09:11 +00:00
$rootScope.Shared = window.habitrpgShared;
});
// $rootScope.Shared is set, so now we can inject Members
inject(function(Members){
2013-10-20 02:33:27 +00:00
members = Members;
2014-01-14 02:09:11 +00:00
});
});
2013-10-20 02:33:27 +00:00
it('has no members at the beginning', function() {
expect(members.members).to.be.an('object');
expect(members.members).to.eql({});
expect(members.selectedMember).to.be.undefined;
});
it('populates members', function(){
var uid = 'abc';
members.populate({
members: [{ _id: uid }]
});
expect(members.members).to.eql({
abc: { _id: uid }
});
});
it('selects a member', function(){
var uid = 'abc';
2013-12-24 01:38:15 +00:00
$httpBackend.expectGET('/api/v2/members/' + uid).respond({ _id: uid });
2013-10-20 02:33:27 +00:00
members.selectMember(uid);
$httpBackend.flush();
expect(members.selectedMember._id).to.eql(uid);
expect(members.members).to.have.property(uid);
});
});