2014-11-04 12:19:49 -05:00
|
|
|
describe('MatrixService', function() {
|
2014-11-04 12:48:47 -05:00
|
|
|
var scope, httpBackend;
|
2014-11-04 12:19:49 -05:00
|
|
|
var BASE = "http://example.com";
|
|
|
|
var PREFIX = "/_matrix/client/api/v1";
|
|
|
|
var URL = BASE + PREFIX;
|
|
|
|
var roomId = "!wejigf387t34:matrix.org";
|
|
|
|
|
|
|
|
beforeEach(module('matrixService'));
|
|
|
|
|
2014-11-04 12:48:47 -05:00
|
|
|
beforeEach(inject(function($rootScope, $httpBackend) {
|
2014-11-04 12:19:49 -05:00
|
|
|
httpBackend = $httpBackend;
|
|
|
|
scope = $rootScope;
|
|
|
|
}));
|
|
|
|
|
|
|
|
afterEach(function() {
|
|
|
|
httpBackend.verifyNoOutstandingExpectation();
|
|
|
|
httpBackend.verifyNoOutstandingRequest();
|
|
|
|
});
|
|
|
|
|
2014-11-04 12:48:47 -05:00
|
|
|
it('should be able to POST /createRoom with an alias', inject(function(matrixService) {
|
|
|
|
matrixService.setConfig({
|
|
|
|
access_token: "foobar",
|
|
|
|
homeserver: "http://example.com"
|
|
|
|
});
|
|
|
|
var alias = "flibble";
|
|
|
|
matrixService.create(alias).then(function(response) {
|
|
|
|
expect(response.data).toEqual({});
|
|
|
|
});
|
|
|
|
|
|
|
|
httpBackend.expectPOST(URL + "/createRoom?access_token=foobar",
|
|
|
|
{
|
|
|
|
room_alias_name: alias
|
|
|
|
})
|
|
|
|
.respond({});
|
|
|
|
httpBackend.flush();
|
|
|
|
}));
|
|
|
|
|
|
|
|
it('should be able to GET /initialSync', inject(function(matrixService) {
|
|
|
|
matrixService.setConfig({
|
|
|
|
access_token: "foobar",
|
|
|
|
homeserver: "http://example.com"
|
|
|
|
});
|
|
|
|
var limit = 15;
|
|
|
|
matrixService.initialSync(limit).then(function(response) {
|
|
|
|
expect(response.data).toEqual([]);
|
|
|
|
});
|
|
|
|
|
|
|
|
httpBackend.expectGET(
|
|
|
|
URL + "/initialSync?access_token=foobar&limit=15")
|
|
|
|
.respond([]);
|
|
|
|
httpBackend.flush();
|
|
|
|
}));
|
|
|
|
|
2014-11-04 12:19:49 -05:00
|
|
|
it('should be able to GET /rooms/$roomid/state', inject(function(matrixService) {
|
|
|
|
matrixService.setConfig({
|
|
|
|
access_token: "foobar",
|
|
|
|
homeserver: "http://example.com"
|
|
|
|
});
|
|
|
|
matrixService.roomState(roomId).then(function(response) {
|
|
|
|
expect(response.data).toEqual([]);
|
|
|
|
});
|
|
|
|
|
2014-11-04 12:48:47 -05:00
|
|
|
httpBackend.expectGET(
|
|
|
|
URL + "/rooms/" + encodeURIComponent(roomId) + "/state?access_token=foobar")
|
2014-11-04 12:19:49 -05:00
|
|
|
.respond([]);
|
|
|
|
httpBackend.flush();
|
|
|
|
}));
|
|
|
|
|
|
|
|
it('should be able to POST /join', inject(function(matrixService) {
|
|
|
|
matrixService.setConfig({
|
|
|
|
access_token: "foobar",
|
|
|
|
homeserver: "http://example.com"
|
|
|
|
});
|
|
|
|
matrixService.joinAlias(roomId).then(function(response) {
|
|
|
|
expect(response.data).toEqual({});
|
|
|
|
});
|
|
|
|
|
2014-11-04 12:48:47 -05:00
|
|
|
httpBackend.expectPOST(
|
2014-11-04 12:19:49 -05:00
|
|
|
URL + "/join/" + encodeURIComponent(roomId) + "?access_token=foobar")
|
|
|
|
.respond({});
|
|
|
|
httpBackend.flush();
|
|
|
|
}));
|
|
|
|
|
|
|
|
it('should be able to POST /rooms/$roomid/join', inject(function(matrixService) {
|
|
|
|
matrixService.setConfig({
|
|
|
|
access_token: "foobar",
|
|
|
|
homeserver: "http://example.com"
|
|
|
|
});
|
|
|
|
matrixService.join(roomId).then(function(response) {
|
|
|
|
expect(response.data).toEqual({});
|
|
|
|
});
|
|
|
|
|
2014-11-04 12:48:47 -05:00
|
|
|
httpBackend.expectPOST(
|
2014-11-04 12:19:49 -05:00
|
|
|
URL + "/rooms/" + encodeURIComponent(roomId) + "/join?access_token=foobar")
|
|
|
|
.respond({});
|
|
|
|
httpBackend.flush();
|
|
|
|
}));
|
|
|
|
});
|