From 76aaa340a3cafde716e449e808d7c064a937582d Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Mar 2017 14:41:49 +0900 Subject: [PATCH] [Test] Add some messaging tests --- test/api.ts | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) 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();