update test
This commit is contained in:
		
							parent
							
								
									95a2de8d54
								
							
						
					
					
						commit
						8957a89024
					
				|  | @ -566,10 +566,10 @@ describe('ユーザー', () => { | |||
| 		{ label: '空文字', memo: '', expects: null }, | ||||
| 		{ label: 'null', memo: null }, | ||||
| 	])('を書き換えることができる(メモを$labelに)', async ({ memo, expects }) => { | ||||
| 		const expected = { ...await show(bob.id), memo: expects === undefined ? memo : expects }; | ||||
| 		const expected = { ...await show(bob.id, alice), memo: expects === undefined ? memo : expects }; | ||||
| 		const parameters = { userId: bob.id, memo }; | ||||
| 		await successfulApiCall({ endpoint: 'users/update-memo', parameters, user: alice }); | ||||
| 		const response = await show(bob.id); | ||||
| 		const response = await show(bob.id, alice); | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 
 | ||||
|  | @ -588,7 +588,7 @@ describe('ユーザー', () => { | |||
| 		const response = await successfulApiCall({ endpoint: 'users', parameters, user: alice }); | ||||
| 
 | ||||
| 		// 結果の並びを事前にアサートするのは困難なので返ってきたidに対応するユーザーが返っており、ソート順が正しいことだけを検証する
 | ||||
| 		const users = await Promise.all(response.map(u => show(u.id))); | ||||
| 		const users = await Promise.all(response.map(u => show(u.id, alice))); | ||||
| 		const expected = users.sort((x, y) => { | ||||
| 			const index = (selector(x) < selector(y)) ? -1 : (selector(x) > selector(y)) ? 1 : 0; | ||||
| 			return index * (parameters.sort?.startsWith('+') ? -1 : 1); | ||||
|  | @ -602,13 +602,13 @@ describe('ユーザー', () => { | |||
| 		{ label: 'ブロックしてきているユーザーが含まれる', user: (): User => userBlockingAlice, excluded: true }, | ||||
| 		{ label: '承認制ユーザーが含まれる', user: (): User => userLocking }, | ||||
| 		{ label: 'サイレンスユーザーが含まれる', user: (): User => userSilenced }, | ||||
| 		{ label: 'サスペンドユーザーが含まれる', user: (): User => userSuspended }, | ||||
| 		{ label: 'サスペンドユーザーが含まれない', user: (): User => userSuspended, excluded: true }, | ||||
| 		{ label: '削除済ユーザーが含まれる', user: (): User => userDeletedBySelf }, | ||||
| 		{ label: '削除済(byAdmin)ユーザーが含まれる', user: (): User => userDeletedByAdmin }, | ||||
| 	] as const)('をリスト形式で取得することができ、結果に$label', async ({ user, excluded }) => { | ||||
| 		const parameters = { limit: 100 }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users', parameters, user: alice }); | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id)]; | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id, alice)]; | ||||
| 		assert.deepStrictEqual(response.filter((u) => u.id === user().id), expected); | ||||
| 	}); | ||||
| 	test.todo('をリスト形式で取得することができる(リモート, hostname指定)'); | ||||
|  | @ -635,7 +635,7 @@ describe('ユーザー', () => { | |||
| 		{ label: 'Moderatorになっている', user: (): User => userModerator, me: (): User => userModerator, selector: (user: User): unknown => user.isModerator }, | ||||
| 		{ label: '自分以外から見たときはModeratorか判定できない', user: (): User => userModerator, selector: (user: User): unknown => user.isModerator, expected: (): undefined => undefined }, | ||||
| 		{ label: 'サイレンスになっている', user: (): User => userSilenced, selector: (user: User): unknown => user.isSilenced }, | ||||
| 		{ label: 'サスペンドになっている', user: (): User => userSuspended, selector: (user: User): unknown => user.isSuspended }, | ||||
| 		//{ label: 'サスペンドになっている', user: (): User => userSuspended, selector: (user: User): unknown => user.isSuspended },
 | ||||
| 		{ label: '削除済みになっている', user: (): User => userDeletedBySelf, me: (): User => userDeletedBySelf, selector: (user: User): unknown => user.isDeleted }, | ||||
| 		{ label: '自分以外から見たときは削除済みか判定できない', user: (): User => userDeletedBySelf, selector: (user: User): unknown => user.isDeleted, expected: (): undefined => undefined }, | ||||
| 		{ label: '削除済み(byAdmin)になっている', user: (): User => userDeletedByAdmin, me: (): User => userDeletedByAdmin, selector: (user: User): unknown => user.isDeleted }, | ||||
|  | @ -717,13 +717,13 @@ describe('ユーザー', () => { | |||
| 	test('を検索することができる', async () => { | ||||
| 		const parameters = { query: 'carol', limit: 10 }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/search', parameters, user: alice }); | ||||
| 		const expected = [await show(carol.id)]; | ||||
| 		const expected = [await show(carol.id, alice)]; | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 	test('を検索することができる(UserLite)', async () => { | ||||
| 		const parameters = { query: 'carol', detail: false, limit: 10 }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/search', parameters, user: alice }); | ||||
| 		const expected = [userLite(await show(carol.id))]; | ||||
| 		const expected = [userLite(await show(carol.id, alice))]; | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 	test.each([ | ||||
|  | @ -739,7 +739,7 @@ describe('ユーザー', () => { | |||
| 	] as const)('を検索することができ、結果に$labelが含まれる', async ({ user, excluded }) => { | ||||
| 		const parameters = { query: user().username, limit: 1 }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/search', parameters, user: alice }); | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id)]; | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id, alice)]; | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 	test.todo('を検索することができる(リモート)'); | ||||
|  | @ -760,7 +760,7 @@ describe('ユーザー', () => { | |||
| 		{ label: 'ローカル', parameters: { host: '.', limit: 1 }, user: (): User[] => [userFollowedByAlice] }, | ||||
| 	])('をID&ホスト指定で検索できる($label)', async ({ parameters, user }) => { | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/search-by-username-and-host', parameters, user: alice }); | ||||
| 		const expected = await Promise.all(user().map(u => show(u.id))); | ||||
| 		const expected = await Promise.all(user().map(u => show(u.id, alice))); | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 	test.each([ | ||||
|  | @ -776,7 +776,7 @@ describe('ユーザー', () => { | |||
| 	] as const)('をID&ホスト指定で検索でき、結果に$label', async ({ user, excluded }) => { | ||||
| 		const parameters = { username: user().username }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/search-by-username-and-host', parameters, user: alice }); | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id)]; | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id, alice)]; | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 	test.todo('をID&ホスト指定で検索できる(リモート)'); | ||||
|  | @ -788,7 +788,7 @@ describe('ユーザー', () => { | |||
| 		const parameters = { userId: alice.id, limit: 5 }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/get-frequently-replied-users', parameters, user: alice }); | ||||
| 		const expected = await Promise.all(usersReplying.slice(0, parameters.limit).map(async (s, i) => ({  | ||||
| 			user: await show(s.id), | ||||
| 			user: await show(s.id, alice), | ||||
| 			weight: (usersReplying.length - i) / usersReplying.length, | ||||
| 		}))); | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
|  | @ -800,7 +800,7 @@ describe('ユーザー', () => { | |||
| 		{ label: 'ブロックしてきているユーザーが含まれない', user: (): User => userBlockingAlice, excluded: true }, | ||||
| 		{ label: '承認制ユーザーが含まれる', user: (): User => userLocking }, | ||||
| 		{ label: 'サイレンスユーザーが含まれる', user: (): User => userSilenced }, | ||||
| 		{ label: 'サスペンドユーザーが含まれない', user: (): User => userSuspended }, | ||||
| 		//{ label: 'サスペンドユーザーが含まれない', user: (): User => userSuspended, excluded: true },
 | ||||
| 		{ label: '削除済ユーザーが含まれる', user: (): User => userDeletedBySelf }, | ||||
| 		{ label: '削除済(byAdmin)ユーザーが含まれる', user: (): User => userDeletedByAdmin }, | ||||
| 	] as const)('がよくリプライをするユーザーのリストを取得でき、結果に$label', async ({ user, excluded }) => { | ||||
|  | @ -808,7 +808,7 @@ describe('ユーザー', () => { | |||
| 		await post(alice, { text: `@${user().username} test`, replyId: replyTo.id }); | ||||
| 		const parameters = { userId: alice.id, limit: 100 }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'users/get-frequently-replied-users', parameters, user: alice }); | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id)]; | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id, alice)]; | ||||
| 		assert.deepStrictEqual(response.map(s => s.user).filter((u) => u.id === user().id), expected); | ||||
| 	}); | ||||
| 
 | ||||
|  | @ -827,7 +827,7 @@ describe('ユーザー', () => { | |||
| 		await successfulApiCall({ endpoint: 'i/update', parameters: { description: `#${hashtag}` }, user: alice }); | ||||
| 		const parameters = { tag: hashtag, limit: 5, ...sort }; | ||||
| 		const response = await successfulApiCall({ endpoint: 'hashtags/users', parameters, user: alice }); | ||||
| 		const users = await Promise.all(response.map(u => show(u.id))); | ||||
| 		const users = await Promise.all(response.map(u => show(u.id, alice))); | ||||
| 		const expected = users.sort((x, y) => { | ||||
| 			const index = (selector(x) < selector(y)) ? -1 : (selector(x) > selector(y)) ? 1 : 0; | ||||
| 			return index * (parameters.sort.startsWith('+') ? -1 : 1); | ||||
|  | @ -841,10 +841,10 @@ describe('ユーザー', () => { | |||
| 		{ label: 'ブロックしてきているユーザーが含まれる', user: (): User => userBlockingAlice }, | ||||
| 		{ label: '承認制ユーザーが含まれる', user: (): User => userLocking }, | ||||
| 		{ label: 'サイレンスユーザーが含まれる', user: (): User => userSilenced }, | ||||
| 		{ label: 'サスペンドユーザーが含まれる', user: (): User => userSuspended }, | ||||
| 		{ label: 'サスペンドユーザーが含まれない', user: (): User => userSuspended, excluded: true }, | ||||
| 		{ label: '削除済ユーザーが含まれる', user: (): User => userDeletedBySelf }, | ||||
| 		{ label: '削除済(byAdmin)ユーザーが含まれる', user: (): User => userDeletedByAdmin }, | ||||
| 	] as const)('をハッシュタグ指定で取得することができ、結果に$label', async ({ user }) => { | ||||
| 	] as const)('をハッシュタグ指定で取得することができ、結果に$label', async ({ user, excluded }) => { | ||||
| 		const hashtag = `user_test${user().username}`; | ||||
| 		if (user() !== userSuspended) { | ||||
| 			// サスペンドユーザーはupdateできない。
 | ||||
|  | @ -852,7 +852,7 @@ describe('ユーザー', () => { | |||
| 		} | ||||
| 		const parameters = { tag: hashtag, limit: 100, sort: '-follower' } as const; | ||||
| 		const response = await successfulApiCall({ endpoint: 'hashtags/users', parameters, user: alice }); | ||||
| 		const expected = [await show(user().id)]; | ||||
| 		const expected = (excluded ?? false) ? [] : [await show(user().id, alice)]; | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 	test.todo('をハッシュタグ指定で取得することができる(リモート)'); | ||||
|  | @ -875,7 +875,7 @@ describe('ユーザー', () => { | |||
| 		await successfulApiCall({ endpoint: 'admin/update-meta', parameters: { pinnedUsers: [bob.username, `@${carol.username}`] }, user: root }); | ||||
| 		const parameters = {} as const; | ||||
| 		const response = await successfulApiCall({ endpoint: 'pinned-users', parameters, user: alice }); | ||||
| 		const expected = await Promise.all([bob, carol].map(u => show(u.id))); | ||||
| 		const expected = await Promise.all([bob, carol].map(u => show(u.id, alice))); | ||||
| 		assert.deepStrictEqual(response, expected); | ||||
| 	}); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue