From f795194dc31d397aa08337af8389c5699ddcd127 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Wed, 13 May 2020 10:54:35 +0800 Subject: [PATCH] refactor tests --- resources/assets/tests/utils.ts | 15 ++++++++++++++- .../tests/views/admin/PlayersManagement.test.tsx | 14 ++------------ .../tests/views/admin/Translations.test.tsx | 13 +------------ .../tests/views/skinlib/SkinLibrary.test.tsx | 13 +------------ resources/assets/tests/views/user/Closet.test.tsx | 14 ++------------ 5 files changed, 20 insertions(+), 49 deletions(-) diff --git a/resources/assets/tests/utils.ts b/resources/assets/tests/utils.ts index 3ea2819c..0f0420a5 100644 --- a/resources/assets/tests/utils.ts +++ b/resources/assets/tests/utils.ts @@ -1,3 +1,16 @@ +import type { Paginator } from '@/scripts/types' + export function flushPromises() { - return new Promise(resolve => setImmediate(resolve)) + return new Promise((resolve) => setImmediate(resolve)) +} + +export function createPaginator(data: T[]): Paginator { + return { + data, + total: data.length, + from: 1, + to: data.length, + current_page: 1, + last_page: 1, + } } diff --git a/resources/assets/tests/views/admin/PlayersManagement.test.tsx b/resources/assets/tests/views/admin/PlayersManagement.test.tsx index 3a58963a..cbad523a 100644 --- a/resources/assets/tests/views/admin/PlayersManagement.test.tsx +++ b/resources/assets/tests/views/admin/PlayersManagement.test.tsx @@ -1,8 +1,9 @@ import React from 'react' import { render, waitFor, fireEvent } from '@testing-library/react' +import { createPaginator } from '../../utils' import { t } from '@/scripts/i18n' import * as fetch from '@/scripts/net' -import { Player, Paginator } from '@/scripts/types' +import { Player } from '@/scripts/types' import PlayersManagement from '@/views/admin/PlayersManagement' jest.mock('@/scripts/net') @@ -16,17 +17,6 @@ const fixture: Readonly = Object.freeze({ last_modified: new Date().toString(), }) -function createPaginator(data: Player[]): Paginator { - return { - data, - total: data.length, - from: 1, - to: data.length, - current_page: 1, - last_page: 1, - } -} - beforeAll(() => { Object.assign(window, { innerWidth: 500 }) }) diff --git a/resources/assets/tests/views/admin/Translations.test.tsx b/resources/assets/tests/views/admin/Translations.test.tsx index 6f52936d..d0dcc9e1 100644 --- a/resources/assets/tests/views/admin/Translations.test.tsx +++ b/resources/assets/tests/views/admin/Translations.test.tsx @@ -1,8 +1,8 @@ import React from 'react' import { render, waitFor, fireEvent } from '@testing-library/react' +import { createPaginator } from '../../utils' import { t } from '@/scripts/i18n' import * as fetch from '@/scripts/net' -import type { Paginator } from '@/scripts/types' import Translations from '@/views/admin/Translations' import type { Line } from '@/views/admin/Translations/types' @@ -17,17 +17,6 @@ const fixtureLine: Readonly = Object.freeze({ }, }) -function createPaginator(data: Line[]): Paginator { - return { - data, - total: data.length, - from: 1, - to: data.length, - current_page: 1, - last_page: 1, - } -} - test('empty text', async () => { const line = { ...fixtureLine, text: { en: '' } } fetch.get.mockResolvedValue(createPaginator([line])) diff --git a/resources/assets/tests/views/skinlib/SkinLibrary.test.tsx b/resources/assets/tests/views/skinlib/SkinLibrary.test.tsx index 437475a0..3b0a0610 100644 --- a/resources/assets/tests/views/skinlib/SkinLibrary.test.tsx +++ b/resources/assets/tests/views/skinlib/SkinLibrary.test.tsx @@ -1,8 +1,8 @@ import React from 'react' import { render, fireEvent, waitFor } from '@testing-library/react' +import { createPaginator } from '../../utils' import { t } from '@/scripts/i18n' import * as fetch from '@/scripts/net' -import { Paginator } from '@/scripts/types' import SkinLibrary from '@/views/skinlib/SkinLibrary' import { LibraryItem } from '@/views/skinlib/SkinLibrary/types' @@ -18,17 +18,6 @@ const fixtureItem: Readonly = Object.freeze({ likes: 70, }) -function createPaginator(data: LibraryItem[]): Paginator { - return { - data, - total: data.length, - from: 1, - to: data.length, - current_page: 1, - last_page: 1, - } -} - beforeEach(() => { window.blessing.extra = { currentUid: null } }) diff --git a/resources/assets/tests/views/user/Closet.test.tsx b/resources/assets/tests/views/user/Closet.test.tsx index cbd93175..ee1eeab9 100644 --- a/resources/assets/tests/views/user/Closet.test.tsx +++ b/resources/assets/tests/views/user/Closet.test.tsx @@ -1,9 +1,10 @@ import React from 'react' import { render, fireEvent, waitFor } from '@testing-library/react' +import { createPaginator } from '../../utils' import $ from 'jquery' import { t } from '@/scripts/i18n' import * as fetch from '@/scripts/net' -import { ClosetItem, Player, Paginator } from '@/scripts/types' +import { ClosetItem, Player } from '@/scripts/types' import Closet from '@/views/user/Closet' jest.mock('@/scripts/net') @@ -51,17 +52,6 @@ const fixturePlayer: Readonly = Object.freeze({ last_modified: new Date().toString(), }) -function createPaginator(data: ClosetItem[]): Paginator { - return { - data, - total: data.length, - from: 1, - to: data.length, - current_page: 1, - last_page: 1, - } -} - beforeEach(() => { const container = document.createElement('div') container.id = 'previewer'