Add tests (通知がミュートを考慮しているかどうか)
This commit is contained in:
parent
09a9484e4f
commit
094e10a278
|
@ -117,5 +117,184 @@ describe('Mute', () => {
|
||||||
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
});
|
});
|
||||||
|
test('通知にミュートしているユーザーからのリプライが含まれない', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { text: '@alice hi', replyId: aliceNote.id });
|
||||||
|
await post(carol, { text: '@alice hi', replyId: aliceNote.id });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのリプライが含まれない', async () => {
|
||||||
|
await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { text: '@alice hi' });
|
||||||
|
await post(carol, { text: '@alice hi' });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからの引用リノートが含まれない', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { text: 'hi', renoteId: aliceNote.id });
|
||||||
|
await post(carol, { text: 'hi', renoteId: aliceNote.id });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのリノートが含まれない', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { renoteId: aliceNote.id });
|
||||||
|
await post(carol, { renoteId: aliceNote.id });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのフォロー通知が含まれない', async () => {
|
||||||
|
await api('/i/follow', { userId: alice.id }, bob);
|
||||||
|
await api('/i/follow', { userId: alice.id }, carol);
|
||||||
|
|
||||||
|
const res = await api('/i/notifications', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのフォローリクエストが含まれない', async () => {
|
||||||
|
await api('/i/update/', { isLocked: true }, alice);
|
||||||
|
await api('/following/create', { userId: alice.id }, bob);
|
||||||
|
await api('/following/create', { userId: alice.id }, carol);
|
||||||
|
|
||||||
|
const res = await api('/i/notifications', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Notification (Grouped)', () => {
|
||||||
|
test('通知にミュートしているユーザーの通知が含まれない(リアクション)', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await react(bob, aliceNote, 'like');
|
||||||
|
await react(carol, aliceNote, 'like');
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped-gropued', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
test('通知にミュートしているユーザーからのリプライが含まれない', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { text: '@alice hi', replyId: aliceNote.id });
|
||||||
|
await post(carol, { text: '@alice hi', replyId: aliceNote.id });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのリプライが含まれない', async () => {
|
||||||
|
await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { text: '@alice hi' });
|
||||||
|
await post(carol, { text: '@alice hi' });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからの引用リノートが含まれない', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { text: 'hi', renoteId: aliceNote.id });
|
||||||
|
await post(carol, { text: 'hi', renoteId: aliceNote.id });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのリノートが含まれない', async () => {
|
||||||
|
const aliceNote = await post(alice, { text: 'hi' });
|
||||||
|
await post(bob, { renoteId: aliceNote.id });
|
||||||
|
await post(carol, { renoteId: aliceNote.id });
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのフォロー通知が含まれない', async () => {
|
||||||
|
await api('/i/follow', { userId: alice.id }, bob);
|
||||||
|
await api('/i/follow', { userId: alice.id }, carol);
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('通知にミュートしているユーザーからのフォローリクエストが含まれない', async () => {
|
||||||
|
await api('/i/update/', { isLocked: true }, alice);
|
||||||
|
await api('/following/create', { userId: alice.id }, bob);
|
||||||
|
await api('/following/create', { userId: alice.id }, carol);
|
||||||
|
|
||||||
|
const res = await api('/i/notifications-grouped', {}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(Array.isArray(res.body), true);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === bob.id), true);
|
||||||
|
assert.strictEqual(res.body.some((notification: any) => notification.userId === carol.id), false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue