1 files changed, 64 insertions, 0 deletions
diff --git a/syweb/webclient/test/unit/matrix-service.spec.js b/syweb/webclient/test/unit/matrix-service.spec.js
new file mode 100644
index 0000000000..3c5163e478
--- /dev/null
+++ b/syweb/webclient/test/unit/matrix-service.spec.js
@@ -0,0 +1,64 @@
+describe('MatrixService', function() {
+ var scope, httpBackend, createController;
+ var BASE = "http://example.com";
+ var PREFIX = "/_matrix/client/api/v1";
+ var URL = BASE + PREFIX;
+ var roomId = "!wejigf387t34:matrix.org";
+
+ beforeEach(module('matrixService'));
+
+ beforeEach(inject(function($rootScope, $httpBackend, $controller) {
+ httpBackend = $httpBackend;
+ scope = $rootScope;
+ }));
+
+ afterEach(function() {
+ httpBackend.verifyNoOutstandingExpectation();
+ httpBackend.verifyNoOutstandingRequest();
+ });
+
+ 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([]);
+ });
+
+ httpBackend.expect('GET',
+ URL + "/rooms/" + roomId + "/state?access_token=foobar")
+ .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({});
+ });
+
+ httpBackend.expect('POST',
+ 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({});
+ });
+
+ httpBackend.expect('POST',
+ URL + "/rooms/" + encodeURIComponent(roomId) + "/join?access_token=foobar")
+ .respond({});
+ httpBackend.flush();
+ }));
+});
|