diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-03-01 14:41:49 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-03-01 14:41:49 +0900 |
| commit | 76aaa340a3cafde716e449e808d7c064a937582d (patch) | |
| tree | 3b826f63b77ed2535b6dd7cb195dfde327230641 /test | |
| parent | Clean up: Destroy nyaize (diff) | |
| download | sharkey-76aaa340a3cafde716e449e808d7c064a937582d.tar.gz sharkey-76aaa340a3cafde716e449e808d7c064a937582d.tar.bz2 sharkey-76aaa340a3cafde716e449e808d7c064a937582d.zip | |
[Test] Add some messaging tests
Diffstat (limited to 'test')
| -rw-r--r-- | test/api.ts | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/test/api.ts b/test/api.ts index 334339d40d..72a5603edb 100644 --- a/test/api.ts +++ b/test/api.ts @@ -1193,6 +1193,78 @@ describe('API', () => { }); }); + describe('messaging/messages/create', () => { + it('メッセージを送信できる', () => async (done) => { + const me = await insertSakurako(); + const hima = await insertHimawari(); + request('/messaging/messages/create', { + user_id: hima._id.toString(), + text: 'Hey hey ひまわり' + }).then(res => { + res.should.have.status(200); + res.body.should.be.a('object'); + res.body.should.have.property('text').eql('Hey hey ひまわり'); + done(); + }); + }); + + it('自分自身にはメッセージを送信できない', () => async (done) => { + const me = await insertSakurako(); + request('/messaging/messages/create', { + user_id: me._id.toString(), + text: 'Yo' + }).then(res => { + res.should.have.status(400); + done(); + }); + }); + + it('存在しないユーザーにはメッセージを送信できない', () => async (done) => { + const me = await insertSakurako(); + request('/messaging/messages/create', { + user_id: '000000000000000000000000', + text: 'Yo' + }).then(res => { + res.should.have.status(400); + done(); + }); + }); + + it('不正なユーザーIDで怒られる', () => async (done) => { + const me = await insertSakurako(); + request('/messaging/messages/create', { + user_id: 'kyoppie', + text: 'Yo' + }).then(res => { + res.should.have.status(400); + done(); + }); + }); + + it('テキストが無くて怒られる', () => async (done) => { + const me = await insertSakurako(); + const hima = await insertHimawari(); + request('/messaging/messages/create', { + user_id: hima._id.toString() + }).then(res => { + res.should.have.status(400); + done(); + }); + }); + + it('文字数オーバーで怒られる', () => async (done) => { + const me = await insertSakurako(); + const hima = await insertHimawari(); + request('/messaging/messages/create', { + user_id: hima._id.toString(), + text: '!'.repeat(501) + }).then(res => { + res.should.have.status(400); + done(); + }); + }); + }); + describe('auth/session/generate', () => { it('認証セッションを作成できる', () => async (done) => { const app = await insertApp(); |