Add a few eventHandlerService tests.
parent
988a8526b5
commit
6aba43f6cc
|
@ -0,0 +1,105 @@
|
|||
describe('EventHandlerService', function() {
|
||||
var scope;
|
||||
|
||||
var modelService = {};
|
||||
|
||||
// setup the service and mocked dependencies
|
||||
beforeEach(function() {
|
||||
// dependencies
|
||||
module('matrixService');
|
||||
module('notificationService');
|
||||
module('mPresence');
|
||||
|
||||
// cleanup mocked methods
|
||||
modelService = {};
|
||||
|
||||
// mocked dependencies
|
||||
module(function ($provide) {
|
||||
$provide.value('modelService', modelService);
|
||||
});
|
||||
|
||||
// tested service
|
||||
module('eventHandlerService');
|
||||
});
|
||||
|
||||
beforeEach(inject(function($rootScope) {
|
||||
scope = $rootScope;
|
||||
}));
|
||||
|
||||
it('should be able to get the number of joined users in a room', inject(
|
||||
function(eventHandlerService) {
|
||||
var roomId = "!foo:matrix.org";
|
||||
// set mocked data
|
||||
modelService.getRoom = function(roomId) {
|
||||
return {
|
||||
room_id: roomId,
|
||||
current_room_state: {
|
||||
members: {
|
||||
"@adam:matrix.org": {
|
||||
content: { membership: "join" },
|
||||
user_id: "@adam:matrix.org"
|
||||
},
|
||||
"@beth:matrix.org": {
|
||||
content: { membership: "invite" },
|
||||
user_id: "@beth:matrix.org"
|
||||
},
|
||||
"@charlie:matrix.org": {
|
||||
content: { membership: "join" },
|
||||
user_id: "@charlie:matrix.org"
|
||||
},
|
||||
"@danice:matrix.org": {
|
||||
content: { membership: "leave" },
|
||||
user_id: "@danice:matrix.org"
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
var num = eventHandlerService.getUsersCountInRoom(roomId);
|
||||
expect(num).toEqual(2);
|
||||
}));
|
||||
|
||||
it('should be able to get a users power level', inject(
|
||||
function(eventHandlerService) {
|
||||
var roomId = "!foo:matrix.org";
|
||||
// set mocked data
|
||||
modelService.getRoom = function(roomId) {
|
||||
return {
|
||||
room_id: roomId,
|
||||
current_room_state: {
|
||||
members: {
|
||||
"@adam:matrix.org": {
|
||||
content: { membership: "join" },
|
||||
user_id: "@adam:matrix.org"
|
||||
},
|
||||
"@beth:matrix.org": {
|
||||
content: { membership: "join" },
|
||||
user_id: "@beth:matrix.org"
|
||||
}
|
||||
},
|
||||
s: {
|
||||
"m.room.power_levels": {
|
||||
content: {
|
||||
"@adam:matrix.org": 90,
|
||||
"default": 50
|
||||
}
|
||||
}
|
||||
},
|
||||
state: function(type, key) {
|
||||
return key ? this.s[type+key] : this.s[type]
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
var num = eventHandlerService.getUserPowerLevel(roomId, "@beth:matrix.org");
|
||||
expect(num).toEqual(50);
|
||||
|
||||
num = eventHandlerService.getUserPowerLevel(roomId, "@adam:matrix.org");
|
||||
expect(num).toEqual(90);
|
||||
|
||||
num = eventHandlerService.getUserPowerLevel(roomId, "@unknown:matrix.org");
|
||||
expect(num).toEqual(50);
|
||||
}));
|
||||
});
|
Loading…
Reference in New Issue