mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-14 11:57:44 +00:00
Add a bunch more unit tests for matrixService.
This commit is contained in:
parent
4facbe02fb
commit
a2aafeb959
1 changed files with 191 additions and 6 deletions
|
@ -17,7 +17,8 @@ describe('MatrixService', function() {
|
|||
httpBackend.verifyNoOutstandingRequest();
|
||||
});
|
||||
|
||||
it('should be able to POST /createRoom with an alias', inject(function(matrixService) {
|
||||
it('should be able to POST /createRoom with an alias', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
|
@ -51,7 +52,8 @@ describe('MatrixService', function() {
|
|||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to GET /rooms/$roomid/state', inject(function(matrixService) {
|
||||
it('should be able to GET /rooms/$roomid/state', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
|
@ -61,7 +63,8 @@ describe('MatrixService', function() {
|
|||
});
|
||||
|
||||
httpBackend.expectGET(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) + "/state?access_token=foobar")
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/state?access_token=foobar")
|
||||
.respond([]);
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
@ -76,12 +79,15 @@ describe('MatrixService', function() {
|
|||
});
|
||||
|
||||
httpBackend.expectPOST(
|
||||
URL + "/join/" + encodeURIComponent(roomId) + "?access_token=foobar")
|
||||
URL + "/join/" + encodeURIComponent(roomId) +
|
||||
"?access_token=foobar",
|
||||
{})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to POST /rooms/$roomid/join', inject(function(matrixService) {
|
||||
it('should be able to POST /rooms/$roomid/join', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
|
@ -91,7 +97,186 @@ describe('MatrixService', function() {
|
|||
});
|
||||
|
||||
httpBackend.expectPOST(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) + "/join?access_token=foobar")
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/join?access_token=foobar",
|
||||
{})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to POST /rooms/$roomid/invite', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var inviteUserId = "@user:example.com";
|
||||
matrixService.invite(roomId, inviteUserId).then(function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPOST(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/invite?access_token=foobar",
|
||||
{
|
||||
user_id: inviteUserId
|
||||
})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to POST /rooms/$roomid/leave', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
matrixService.leave(roomId).then(function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPOST(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/leave?access_token=foobar",
|
||||
{})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to POST /rooms/$roomid/ban', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var userId = "@example:example.com";
|
||||
var reason = "Because.";
|
||||
matrixService.ban(roomId, userId, reason).then(function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPOST(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/ban?access_token=foobar",
|
||||
{
|
||||
user_id: userId,
|
||||
reason: reason
|
||||
})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to GET /directory/room/$alias', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var alias = "#test:example.com";
|
||||
var roomId = "!wefuhewfuiw:example.com";
|
||||
matrixService.resolveRoomAlias(alias).then(function(response) {
|
||||
expect(response.data).toEqual({
|
||||
room_id: roomId
|
||||
});
|
||||
});
|
||||
|
||||
httpBackend.expectGET(
|
||||
URL + "/directory/room/" + encodeURIComponent(alias) +
|
||||
"?access_token=foobar")
|
||||
.respond({
|
||||
room_id: roomId
|
||||
});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to send m.room.name', inject(function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var roomId = "!fh38hfwfwef:example.com";
|
||||
var name = "Room Name";
|
||||
matrixService.setName(roomId, name).then(function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPUT(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/state/m.room.name?access_token=foobar",
|
||||
{
|
||||
name: name
|
||||
})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to send m.room.topic', inject(function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var roomId = "!fh38hfwfwef:example.com";
|
||||
var topic = "A room topic can go here.";
|
||||
matrixService.setTopic(roomId, topic).then(function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPUT(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) +
|
||||
"/state/m.room.topic?access_token=foobar",
|
||||
{
|
||||
topic: topic
|
||||
})
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to send generic state events without a state key', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var roomId = "!fh38hfwfwef:example.com";
|
||||
var eventType = "com.example.events.test";
|
||||
var content = {
|
||||
testing: "1 2 3"
|
||||
};
|
||||
matrixService.sendStateEvent(roomId, eventType, content).then(
|
||||
function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPUT(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) + "/state/" +
|
||||
encodeURIComponent(eventType) + "?access_token=foobar",
|
||||
content)
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
||||
it('should be able to send generic state events with a state key', inject(
|
||||
function(matrixService) {
|
||||
matrixService.setConfig({
|
||||
access_token: "foobar",
|
||||
homeserver: "http://example.com"
|
||||
});
|
||||
var roomId = "!fh38hfwfwef:example.com";
|
||||
var eventType = "com.example.events.test";
|
||||
var content = {
|
||||
testing: "1 2 3"
|
||||
};
|
||||
var stateKey = "version1";
|
||||
matrixService.sendStateEvent(roomId, eventType, content, stateKey).then(
|
||||
function(response) {
|
||||
expect(response.data).toEqual({});
|
||||
});
|
||||
|
||||
httpBackend.expectPUT(
|
||||
URL + "/rooms/" + encodeURIComponent(roomId) + "/state/" +
|
||||
encodeURIComponent(eventType) + "/" + encodeURIComponent(stateKey)+
|
||||
"?access_token=foobar",
|
||||
content)
|
||||
.respond({});
|
||||
httpBackend.flush();
|
||||
}));
|
||||
|
|
Loading…
Reference in a new issue