From 4f76f05003cfd146654500099041cbfd1255fcbd Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Thu, 19 Mar 2020 09:26:29 +0800 Subject: [PATCH] fix closet previewer don't apply texture type fix #152 --- resources/assets/src/components/Viewer.tsx | 4 +-- .../src/views/user/Closet/Previewer.tsx | 2 +- .../assets/src/views/user/Closet/index.tsx | 4 +-- .../assets/tests/components/Viewer.test.tsx | 34 +++++++++++-------- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/resources/assets/src/components/Viewer.tsx b/resources/assets/src/components/Viewer.tsx index bb078a52..94a6049c 100644 --- a/resources/assets/src/components/Viewer.tsx +++ b/resources/assets/src/components/Viewer.tsx @@ -9,7 +9,7 @@ export const PICTURES_COUNT = 7 interface Props { skin?: string cape?: string - isAlex?: boolean + isAlex: boolean showIndicator?: boolean initPositionZ?: number } @@ -120,7 +120,7 @@ const Viewer: React.FC = props => { useEffect(() => { const viewer = viewRef.current - viewer.playerObject.skin.slim = !!props.isAlex + viewer.playerObject.skin.slim = props.isAlex }, [props.isAlex]) useEffect(() => { diff --git a/resources/assets/src/views/user/Closet/Previewer.tsx b/resources/assets/src/views/user/Closet/Previewer.tsx index ab956bab..1de157af 100644 --- a/resources/assets/src/views/user/Closet/Previewer.tsx +++ b/resources/assets/src/views/user/Closet/Previewer.tsx @@ -27,7 +27,7 @@ const Previewer: React.FC = props => { return ReactDOM.createPortal( }> - + {props.children} , diff --git a/resources/assets/src/views/user/Closet/index.tsx b/resources/assets/src/views/user/Closet/index.tsx index a5eef8f2..a123cebe 100644 --- a/resources/assets/src/views/user/Closet/index.tsx +++ b/resources/assets/src/views/user/Closet/index.tsx @@ -116,9 +116,7 @@ const Closet: React.FC = () => { if (code === 0) { toast.success(message) setItems(items => { - items[index] = Object.assign({}, item, { - pivot: Object.assign({}, item.pivot, { item_name: name }), - }) + items[index] = { ...item, pivot: { ...item.pivot, item_name: name } } return items.slice() }) } else { diff --git a/resources/assets/tests/components/Viewer.test.tsx b/resources/assets/tests/components/Viewer.test.tsx index 5a608190..4192a15b 100644 --- a/resources/assets/tests/components/Viewer.test.tsx +++ b/resources/assets/tests/components/Viewer.test.tsx @@ -4,37 +4,41 @@ import { t } from '@/scripts/i18n' import Viewer, { PICTURES_COUNT } from '@/components/Viewer' test('custom footer', () => { - const { queryByText } = render(footer) + const { queryByText } = render(footer) expect(queryByText('footer')).toBeInTheDocument() }) describe('indicator', () => { it('hidden by default', () => { - const { queryByText } = render() + const { queryByText } = render() expect(queryByText(t('general.skin'))).not.toBeInTheDocument() }) it('nothing', () => { - const { queryByText } = render() + const { queryByText } = render() expect(queryByText(t('general.skin'))).not.toBeInTheDocument() expect(queryByText(t('general.cape'))).not.toBeInTheDocument() }) it('skin only', () => { - const { queryByText } = render() + const { queryByText } = render( + , + ) expect(queryByText(t('general.skin'))).toBeInTheDocument() expect(queryByText(t('general.cape'))).not.toBeInTheDocument() }) it('cape only', () => { - const { queryByText } = render() + const { queryByText } = render( + , + ) expect(queryByText(t('general.skin'))).not.toBeInTheDocument() expect(queryByText(t('general.cape'))).toBeInTheDocument() }) it('skin and cape', () => { const { queryByText } = render( - , + , ) expect( queryByText(`${t('general.skin')} & ${t('general.cape')}`), @@ -46,31 +50,31 @@ describe('indicator', () => { describe('actions', () => { it('toggle run', () => { - const { getByTitle } = render() + const { getByTitle } = render() fireEvent.click(getByTitle(`${t('general.walk')} / ${t('general.run')}`)) }) it('toggle rotation', () => { - const { getByTitle } = render() + const { getByTitle } = render() fireEvent.click(getByTitle(t('general.rotation'))) }) it('toggle pause', () => { - const { getByTitle } = render() + const { getByTitle } = render() const icon = getByTitle(t('general.pause')) fireEvent.click(icon) expect(icon).toHaveClass('fa-play') }) it('reset', () => { - const { getByTitle } = render() + const { getByTitle } = render() fireEvent.click(getByTitle(t('general.reset'))) }) }) describe('background', () => { it('white', () => { - const { getByTitle, baseElement } = render() + const { getByTitle, baseElement } = render() fireEvent.click(getByTitle(t('colors.white'))) expect( baseElement.querySelector('.card-body')!.style.background, @@ -78,7 +82,7 @@ describe('background', () => { }) it('black', () => { - const { getByTitle, baseElement } = render() + const { getByTitle, baseElement } = render() fireEvent.click(getByTitle(t('colors.black'))) expect( baseElement.querySelector('.card-body')!.style.background, @@ -86,7 +90,7 @@ describe('background', () => { }) it('white', () => { - const { getByTitle, baseElement } = render() + const { getByTitle, baseElement } = render() fireEvent.click(getByTitle(t('colors.gray'))) expect( baseElement.querySelector('.card-body')!.style.background, @@ -94,7 +98,7 @@ describe('background', () => { }) it('previous picture', () => { - const { getByTitle, baseElement } = render() + const { getByTitle, baseElement } = render() fireEvent.click(getByTitle(t('colors.prev'))) expect( @@ -108,7 +112,7 @@ describe('background', () => { }) it('next picture', () => { - const { getByTitle, baseElement } = render() + const { getByTitle, baseElement } = render() fireEvent.click(getByTitle(t('colors.next'))) expect(