mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-27 04:43:09 +02:00
[Test] Add some tests
This commit is contained in:
parent
af08b2d8d1
commit
5b21a8c0fb
1 changed files with 86 additions and 0 deletions
86
test/api.js
86
test/api.js
|
@ -365,6 +365,92 @@ describe('API', () => {
|
|||
});
|
||||
}));
|
||||
});
|
||||
|
||||
describe('following/delete', () => {
|
||||
it('フォロー解除できる', () => new Promise(async (done) => {
|
||||
const hima = await insertHimawari();
|
||||
const me = await insertSakurako();
|
||||
await db.get('following').insert({
|
||||
followee_id: hima._id,
|
||||
follower_id: me._id
|
||||
});
|
||||
request('/following/delete', {
|
||||
user_id: hima._id.toString()
|
||||
}, me).then(res => {
|
||||
res.should.have.status(204);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
|
||||
it('過去にフォロー歴があった状態でフォロー解除できる', () => new Promise(async (done) => {
|
||||
const hima = await insertHimawari();
|
||||
const me = await insertSakurako();
|
||||
await db.get('following').insert({
|
||||
followee_id: hima._id,
|
||||
follower_id: me._id,
|
||||
deleted_at: new Date()
|
||||
});
|
||||
await db.get('following').insert({
|
||||
followee_id: hima._id,
|
||||
follower_id: me._id
|
||||
});
|
||||
request('/following/delete', {
|
||||
user_id: hima._id.toString()
|
||||
}, me).then(res => {
|
||||
res.should.have.status(204);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
|
||||
it('フォローしていない場合は怒る', () => new Promise(async (done) => {
|
||||
const hima = await insertHimawari();
|
||||
const me = await insertSakurako();
|
||||
request('/following/delete', {
|
||||
user_id: hima._id.toString()
|
||||
}, me).then(res => {
|
||||
res.should.have.status(400);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
|
||||
it('存在しないユーザーはフォロー解除できない', () => new Promise(async (done) => {
|
||||
const me = await insertSakurako();
|
||||
request('/following/delete', {
|
||||
user_id: '000000000000000000000000'
|
||||
}, me).then(res => {
|
||||
res.should.have.status(400);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
|
||||
it('自分自身はフォロー解除できない', () => new Promise(async (done) => {
|
||||
const me = await insertSakurako();
|
||||
request('/following/delete', {
|
||||
user_id: me._id.toString()
|
||||
}, me).then(res => {
|
||||
res.should.have.status(400);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
|
||||
it('空のパラメータで怒られる', () => new Promise(async (done) => {
|
||||
const me = await insertSakurako();
|
||||
request('/following/delete', {}, me).then(res => {
|
||||
res.should.have.status(400);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
|
||||
it('間違ったIDで怒られる', () => new Promise(async (done) => {
|
||||
const me = await insertSakurako();
|
||||
request('/following/delete', {
|
||||
user_id: 'kyoppie'
|
||||
}, me).then(res => {
|
||||
res.should.have.status(400);
|
||||
done();
|
||||
});
|
||||
}));
|
||||
});
|
||||
});
|
||||
|
||||
async function insertSakurako() {
|
||||
|
|
Loading…
Reference in a new issue