fix routes

This commit is contained in:
Pig Fang 2020-06-03 10:21:16 +08:00
parent e54fecd6e5
commit f4c2da3b31
4 changed files with 30 additions and 44 deletions

View File

@ -42,7 +42,7 @@ const ModalApply: React.FC<Props> = (props) => {
} }
const handleSelect = async (player: Player) => { const handleSelect = async (player: Player) => {
const { code, message } = await fetch.post<fetch.ResponseBody>( const { code, message } = await fetch.put<fetch.ResponseBody>(
urls.user.player.set(player.pid), urls.user.player.set(player.pid),
{ {
skin: props.skin, skin: props.skin,

View File

@ -67,7 +67,7 @@ const Players: React.FC = () => {
return return
} }
const { code, message } = await fetch.post<fetch.ResponseBody>( const { code, message } = await fetch.put<fetch.ResponseBody>(
urls.user.player.rename(player.pid), urls.user.player.rename(player.pid),
{ name }, { name },
) )
@ -88,7 +88,7 @@ const Players: React.FC = () => {
return return
} }
const { code, message } = await fetch.post<fetch.ResponseBody>( const { code, message } = await fetch.del<fetch.ResponseBody>(
urls.user.player.clear(selected), urls.user.player.clear(selected),
{ type: [skin && 'skin', cape && 'cape'].filter(Boolean) }, { type: [skin && 'skin', cape && 'cape'].filter(Boolean) },
) )
@ -128,7 +128,7 @@ const Players: React.FC = () => {
return return
} }
const { code, message } = await fetch.post<fetch.ResponseBody>( const { code, message } = await fetch.del<fetch.ResponseBody>(
urls.user.player.delete(player.pid), urls.user.player.delete(player.pid),
) )
if (code === 0) { if (code === 0) {

View File

@ -391,7 +391,7 @@ describe('apply textures to player', () => {
fetch.get fetch.get
.mockResolvedValueOnce(createPaginator([fixtureSkin])) .mockResolvedValueOnce(createPaginator([fixtureSkin]))
.mockResolvedValueOnce([fixturePlayer]) .mockResolvedValueOnce([fixturePlayer])
fetch.post.mockResolvedValue({ code: 0, message: 'success' }) fetch.put.mockResolvedValue({ code: 0, message: 'success' })
const { const {
getByText, getByText,
@ -407,7 +407,7 @@ describe('apply textures to player', () => {
await waitFor(() => expect(fetch.get).toBeCalled()) await waitFor(() => expect(fetch.get).toBeCalled())
fireEvent.click(getByTitle(fixturePlayer.name)) fireEvent.click(getByTitle(fixturePlayer.name))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith( expect(fetch.put).toBeCalledWith(
urls.user.player.set(fixturePlayer.pid), urls.user.player.set(fixturePlayer.pid),
{ skin: fixtureSkin.tid }, { skin: fixtureSkin.tid },
), ),
@ -420,7 +420,7 @@ describe('apply textures to player', () => {
fetch.get fetch.get
.mockResolvedValueOnce(createPaginator([fixtureSkin])) .mockResolvedValueOnce(createPaginator([fixtureSkin]))
.mockResolvedValueOnce([fixturePlayer]) .mockResolvedValueOnce([fixturePlayer])
fetch.post.mockResolvedValue({ code: 1, message: 'failed' }) fetch.put.mockResolvedValue({ code: 1, message: 'failed' })
const { const {
getByText, getByText,
@ -436,7 +436,7 @@ describe('apply textures to player', () => {
await waitFor(() => expect(fetch.get).toBeCalled()) await waitFor(() => expect(fetch.get).toBeCalled())
fireEvent.click(getByTitle(fixturePlayer.name)) fireEvent.click(getByTitle(fixturePlayer.name))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith( expect(fetch.put).toBeCalledWith(
urls.user.player.set(fixturePlayer.pid), urls.user.player.set(fixturePlayer.pid),
{ skin: fixtureSkin.tid }, { skin: fixtureSkin.tid },
), ),
@ -459,6 +459,6 @@ describe('apply textures to player', () => {
$('#modal-apply').modal('hide').trigger('hidden.bs.modal') $('#modal-apply').modal('hide').trigger('hidden.bs.modal')
expect(fetch.post).not.toBeCalled() expect(fetch.put).not.toBeCalled()
}) })
}) })

View File

@ -270,7 +270,7 @@ describe('edit player name', () => {
}) })
it('succeeded', async () => { it('succeeded', async () => {
fetch.post.mockResolvedValue({ code: 0, message: 'success' }) fetch.put.mockResolvedValue({ code: 0, message: 'success' })
const { const {
getByText, getByText,
@ -287,7 +287,7 @@ describe('edit player name', () => {
}) })
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.rename(fixture.pid), { expect(fetch.put).toBeCalledWith(urls.user.player.rename(fixture.pid), {
name: 'reina', name: 'reina',
}), }),
) )
@ -307,14 +307,15 @@ describe('edit player name', () => {
target: { value: '' }, target: { value: '' },
}) })
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => expect(fetch.post).not.toBeCalled()) await waitFor(() => expect(fetch.put).not.toBeCalled())
expect(queryByText(t('user.emptyPlayerName'))).toBeInTheDocument() expect(queryByText(t('user.emptyPlayerName'))).toBeInTheDocument()
fireEvent.click(getByText(t('general.cancel'))) fireEvent.click(getByText(t('general.cancel')))
expect(queryByText(fixture.name)).toBeInTheDocument()
}) })
it('failed', async () => { it('failed', async () => {
fetch.post.mockResolvedValue({ code: 1, message: 'failed' }) fetch.put.mockResolvedValue({ code: 1, message: 'failed' })
const { const {
getByText, getByText,
@ -331,7 +332,7 @@ describe('edit player name', () => {
}) })
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.rename(fixture.pid), { expect(fetch.put).toBeCalledWith(urls.user.player.rename(fixture.pid), {
name: 'reina', name: 'reina',
}), }),
) )
@ -339,21 +340,6 @@ describe('edit player name', () => {
expect(getByRole('alert')).toHaveClass('alert-danger') expect(getByRole('alert')).toHaveClass('alert-danger')
expect(queryByText(fixture.name)).toBeInTheDocument() expect(queryByText(fixture.name)).toBeInTheDocument()
}) })
it('cancelled', async () => {
const { getByText, getByTitle, getByDisplayValue, queryByText } = render(
<Players />,
)
await waitFor(() => expect(fetch.get).toBeCalledTimes(1))
fireEvent.click(getByTitle(t('user.player.edit-pname')))
fireEvent.input(getByDisplayValue(fixture.name), {
target: { value: 'reina' },
})
fireEvent.click(getByText(t('general.cancel')))
await waitFor(() => expect(fetch.post).not.toBeCalled())
expect(queryByText(fixture.name)).toBeInTheDocument()
})
}) })
describe('reset texture', () => { describe('reset texture', () => {
@ -365,7 +351,7 @@ describe('reset texture', () => {
}) })
it('clear skin and cape', async () => { it('clear skin and cape', async () => {
fetch.post.mockResolvedValue({ code: 0, message: 'success' }) fetch.del.mockResolvedValue({ code: 0, message: 'success' })
const { getByText, getByRole, getByLabelText, queryByText } = render( const { getByText, getByRole, getByLabelText, queryByText } = render(
<Players />, <Players />,
@ -377,7 +363,7 @@ describe('reset texture', () => {
fireEvent.click(getByLabelText(t('general.cape'))) fireEvent.click(getByLabelText(t('general.cape')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.clear(fixture.pid), { expect(fetch.del).toBeCalledWith(urls.user.player.clear(fixture.pid), {
type: ['skin', 'cape'], type: ['skin', 'cape'],
}), }),
) )
@ -386,7 +372,7 @@ describe('reset texture', () => {
}) })
it('clear skin', async () => { it('clear skin', async () => {
fetch.post.mockResolvedValue({ code: 0, message: 'success' }) fetch.del.mockResolvedValue({ code: 0, message: 'success' })
const { getByText, getByRole, getByLabelText, queryByText } = render( const { getByText, getByRole, getByLabelText, queryByText } = render(
<Players />, <Players />,
@ -397,7 +383,7 @@ describe('reset texture', () => {
fireEvent.click(getByLabelText(t('general.skin'))) fireEvent.click(getByLabelText(t('general.skin')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.clear(fixture.pid), { expect(fetch.del).toBeCalledWith(urls.user.player.clear(fixture.pid), {
type: ['skin'], type: ['skin'],
}), }),
) )
@ -406,7 +392,7 @@ describe('reset texture', () => {
}) })
it('clear cape', async () => { it('clear cape', async () => {
fetch.post.mockResolvedValue({ code: 0, message: 'success' }) fetch.del.mockResolvedValue({ code: 0, message: 'success' })
const { getByText, getByRole, getByLabelText, queryByText } = render( const { getByText, getByRole, getByLabelText, queryByText } = render(
<Players />, <Players />,
@ -417,7 +403,7 @@ describe('reset texture', () => {
fireEvent.click(getByLabelText(t('general.cape'))) fireEvent.click(getByLabelText(t('general.cape')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.clear(fixture.pid), { expect(fetch.del).toBeCalledWith(urls.user.player.clear(fixture.pid), {
type: ['cape'], type: ['cape'],
}), }),
) )
@ -431,13 +417,13 @@ describe('reset texture', () => {
fireEvent.click(getByText(t('user.player.delete-texture'))) fireEvent.click(getByText(t('user.player.delete-texture')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => expect(fetch.post).not.toBeCalled()) await waitFor(() => expect(fetch.del).not.toBeCalled())
expect(queryByText(t('user.noClearChoice'))).toBeInTheDocument() expect(queryByText(t('user.noClearChoice'))).toBeInTheDocument()
expect(getByRole('alert')).toHaveClass('alert-warning') expect(getByRole('alert')).toHaveClass('alert-warning')
}) })
it('failed', async () => { it('failed', async () => {
fetch.post.mockResolvedValue({ code: 1, message: 'failed' }) fetch.del.mockResolvedValue({ code: 1, message: 'failed' })
const { getByText, getByRole, getByLabelText, queryByText } = render( const { getByText, getByRole, getByLabelText, queryByText } = render(
<Players />, <Players />,
@ -448,7 +434,7 @@ describe('reset texture', () => {
fireEvent.click(getByLabelText(t('general.skin'))) fireEvent.click(getByLabelText(t('general.skin')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.clear(fixture.pid), { expect(fetch.del).toBeCalledWith(urls.user.player.clear(fixture.pid), {
type: ['skin'], type: ['skin'],
}), }),
) )
@ -463,7 +449,7 @@ describe('reset texture', () => {
fireEvent.click(getByText(t('user.player.delete-texture'))) fireEvent.click(getByText(t('user.player.delete-texture')))
fireEvent.click(getByLabelText(t('general.skin'))) fireEvent.click(getByLabelText(t('general.skin')))
fireEvent.click(getByText(t('general.cancel'))) fireEvent.click(getByText(t('general.cancel')))
await waitFor(() => expect(fetch.post).not.toBeCalled()) await waitFor(() => expect(fetch.del).not.toBeCalled())
}) })
}) })
@ -476,7 +462,7 @@ describe('delete player', () => {
}) })
it('succeeded', async () => { it('succeeded', async () => {
fetch.post.mockResolvedValue({ code: 0, message: 'success' }) fetch.del.mockResolvedValue({ code: 0, message: 'success' })
const { getByText, getByRole, queryByText } = render(<Players />) const { getByText, getByRole, queryByText } = render(<Players />)
await waitFor(() => expect(fetch.get).toBeCalledTimes(1)) await waitFor(() => expect(fetch.get).toBeCalledTimes(1))
@ -484,7 +470,7 @@ describe('delete player', () => {
fireEvent.click(getByText(t('user.player.delete-player'))) fireEvent.click(getByText(t('user.player.delete-player')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.delete(fixture.pid)), expect(fetch.del).toBeCalledWith(urls.user.player.delete(fixture.pid)),
) )
expect(getByText('success')).toBeInTheDocument() expect(getByText('success')).toBeInTheDocument()
expect(getByRole('status')).toHaveClass('alert-success') expect(getByRole('status')).toHaveClass('alert-success')
@ -492,7 +478,7 @@ describe('delete player', () => {
}) })
it('failed', async () => { it('failed', async () => {
fetch.post.mockResolvedValue({ code: 1, message: 'failed' }) fetch.del.mockResolvedValue({ code: 1, message: 'failed' })
const { getByText, getByRole, queryByText } = render(<Players />) const { getByText, getByRole, queryByText } = render(<Players />)
await waitFor(() => expect(fetch.get).toBeCalledTimes(1)) await waitFor(() => expect(fetch.get).toBeCalledTimes(1))
@ -500,7 +486,7 @@ describe('delete player', () => {
fireEvent.click(getByText(t('user.player.delete-player'))) fireEvent.click(getByText(t('user.player.delete-player')))
fireEvent.click(getByText(t('general.confirm'))) fireEvent.click(getByText(t('general.confirm')))
await waitFor(() => await waitFor(() =>
expect(fetch.post).toBeCalledWith(urls.user.player.delete(fixture.pid)), expect(fetch.del).toBeCalledWith(urls.user.player.delete(fixture.pid)),
) )
expect(getByText('failed')).toBeInTheDocument() expect(getByText('failed')).toBeInTheDocument()
expect(getByRole('alert')).toHaveClass('alert-danger') expect(getByRole('alert')).toHaveClass('alert-danger')
@ -513,7 +499,7 @@ describe('delete player', () => {
fireEvent.click(getByText(t('user.player.delete-player'))) fireEvent.click(getByText(t('user.player.delete-player')))
fireEvent.click(getByText(t('general.cancel'))) fireEvent.click(getByText(t('general.cancel')))
await waitFor(() => expect(fetch.post).not.toBeCalled()) await waitFor(() => expect(fetch.del).not.toBeCalled())
expect(queryByText(fixture.name)).toBeInTheDocument() expect(queryByText(fixture.name)).toBeInTheDocument()
}) })
}) })