mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
67 lines
2.0 KiB
JavaScript
67 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
describe('memberServices', function() {
|
|
var $httpBackend, members;
|
|
|
|
beforeEach(inject(function (_$httpBackend_, Members) {
|
|
$httpBackend = _$httpBackend_;
|
|
members = Members;
|
|
}));
|
|
|
|
afterEach(function() {
|
|
$httpBackend.verifyNoOutstandingExpectation();
|
|
$httpBackend.verifyNoOutstandingRequest();
|
|
});
|
|
|
|
|
|
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;
|
|
});
|
|
|
|
describe('addToMembersList', function() {
|
|
it('adds member to members object', function() {
|
|
var member = { _id: 'user_id' };
|
|
members.addToMembersList(member);
|
|
expect(members.members).to.eql({
|
|
user_id: { _id: 'user_id' }
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('selectMember', function() {
|
|
it('fetches member if not already in cache', function() {
|
|
var uid = 'abc';
|
|
$httpBackend.expectGET('/api/v2/members/' + uid).respond({ _id: uid });
|
|
members.selectMember(uid, function(){});
|
|
$httpBackend.flush();
|
|
|
|
expect(members.selectedMember._id).to.eql(uid);
|
|
expect(members.members).to.have.property(uid);
|
|
});
|
|
|
|
it('fetches member if member data in cache is incomplete', function() {
|
|
var uid = 'abc';
|
|
members.members = {
|
|
abc: { _id: 'abc', items: {} }
|
|
}
|
|
$httpBackend.expectGET('/api/v2/members/' + uid).respond({ _id: uid });
|
|
members.selectMember(uid, function(){});
|
|
$httpBackend.flush();
|
|
|
|
expect(members.selectedMember._id).to.eql(uid);
|
|
expect(members.members).to.have.property(uid);
|
|
});
|
|
|
|
it('gets member from cache if member has a weapons object', function() {
|
|
var uid = 'abc';
|
|
members.members[uid] = { _id: uid, items: { weapon: {} } };
|
|
members.selectMember(uid, function(){
|
|
expect(members.selectedMember._id).to.eql(uid);
|
|
expect(members.members).to.have.property(uid);
|
|
});
|
|
});
|
|
});
|
|
});
|