parent
6f638dd9fc
commit
5fb4240a47
|
|
@ -71,9 +71,19 @@ const Closet: React.FC = () => {
|
|||
getItems()
|
||||
}, [category, query, page])
|
||||
|
||||
const switchCategoryToSkin = () => setCategory('skin')
|
||||
const switchCategoryToSkin = () => {
|
||||
if (category !== 'skin') {
|
||||
setCategory('skin')
|
||||
setPage(1)
|
||||
}
|
||||
}
|
||||
|
||||
const switchCategoryToCape = () => setCategory('cape')
|
||||
const switchCategoryToCape = () => {
|
||||
if (category !== 'cape') {
|
||||
setCategory('cape')
|
||||
setPage(1)
|
||||
}
|
||||
}
|
||||
|
||||
const handleSearch = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
const value = event.target.value
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ export function flushPromises() {
|
|||
return new Promise((resolve) => setImmediate(resolve))
|
||||
}
|
||||
|
||||
export function createPaginator<T>(data: T[]): Paginator<T> {
|
||||
export function createPaginator<T>(data: T[], perPage = 6): Paginator<T> {
|
||||
return {
|
||||
data,
|
||||
total: data.length,
|
||||
from: 1,
|
||||
to: data.length,
|
||||
current_page: 1,
|
||||
last_page: 1,
|
||||
last_page: Math.ceil(data.length / perPage),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,6 +128,57 @@ describe('switch category', () => {
|
|||
fireEvent.click(getByText(t('general.skin')))
|
||||
await waitFor(() => expect(fetch.get).toBeCalledTimes(1))
|
||||
})
|
||||
|
||||
it('reset page', async () => {
|
||||
fetch.get
|
||||
.mockResolvedValueOnce(
|
||||
createPaginator(
|
||||
Array.from({ length: 30 }).map((_, i) => ({
|
||||
...fixtureSkin,
|
||||
tid: i + 1,
|
||||
})),
|
||||
),
|
||||
)
|
||||
.mockResolvedValueOnce(
|
||||
createPaginator(
|
||||
Array.from({ length: 30 }).map((_, i) => ({
|
||||
...fixtureSkin,
|
||||
tid: i + 1,
|
||||
})),
|
||||
),
|
||||
)
|
||||
.mockResolvedValueOnce(createPaginator([fixtureCape]))
|
||||
|
||||
const { getByText } = render(<Closet />)
|
||||
await waitFor(() =>
|
||||
expect(fetch.get).toBeCalledWith(urls.user.closet.list(), {
|
||||
category: 'skin',
|
||||
q: '',
|
||||
page: 1,
|
||||
perPage: 6,
|
||||
}),
|
||||
)
|
||||
|
||||
fireEvent.click(getByText('3'))
|
||||
await waitFor(() =>
|
||||
expect(fetch.get).toBeCalledWith(urls.user.closet.list(), {
|
||||
category: 'skin',
|
||||
q: '',
|
||||
page: 3,
|
||||
perPage: 6,
|
||||
}),
|
||||
)
|
||||
|
||||
fireEvent.click(getByText(t('general.cape')))
|
||||
await waitFor(() =>
|
||||
expect(fetch.get).toBeCalledWith(urls.user.closet.list(), {
|
||||
category: 'cape',
|
||||
q: '',
|
||||
page: 1,
|
||||
perPage: 6,
|
||||
}),
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('rename item', () => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user