diff --git a/resources/assets/tests/__mocks__/skinview3d.ts b/resources/assets/tests/__mocks__/skinview3d.ts
index 37f8a306..463512b0 100644
--- a/resources/assets/tests/__mocks__/skinview3d.ts
+++ b/resources/assets/tests/__mocks__/skinview3d.ts
@@ -2,51 +2,61 @@
/* eslint-disable max-classes-per-file */
import type { PlayerObject, SkinObject, CapeObject } from 'skinview3d'
-export class SkinViewer {
- disposed: boolean
-
- skinUrl: string
-
- capeUrl: string
-
- animationPaused: boolean
-
- camera: { position: { z: number } }
+export class FXAASkinViewer {
+ disposed = false
+ background = ''
+ animations = new RootAnimation()
+ animationPaused = false
playerObject: PlayerObject
constructor() {
- this.skinUrl = ''
- this.capeUrl = ''
- this.disposed = false
this.animationPaused = false
- this.camera = {
- position: {
- z: 0,
- },
- }
this.playerObject = {
skin: {} as SkinObject,
cape: {} as CapeObject,
} as PlayerObject
}
+ loadSkin() {}
+ loadCape() {}
+ resetCape() {}
+ loadBackground() {}
+
dispose() {
this.disposed = true
}
}
-export class CompositeAnimation {
- add(animation: any) {
+export class RootAnimation {
+ paused = false
+
+ add(animation: unknown) {
return animation
}
}
-export function createOrbitControls() {}
+export function createOrbitControls() {
+ return {
+ dispose() {}
+ }
+}
-export const WalkingAnimation = { paused: false }
-export const RunningAnimation = { paused: false }
-export const RotatingAnimation = { paused: false }
+export const WalkingAnimation = new Proxy({}, {
+ get() {
+ return jest.fn()
+ }
+})
+export const RunningAnimation = new Proxy({}, {
+ get() {
+ return jest.fn()
+ }
+})
+export const RotatingAnimation = new Proxy({}, {
+ get() {
+ return jest.fn()
+ }
+})
export function isSlimSkin() {
return false
diff --git a/resources/assets/tests/components/Viewer.test.tsx b/resources/assets/tests/components/Viewer.test.tsx
index 6cd6cbb1..1274a6e7 100644
--- a/resources/assets/tests/components/Viewer.test.tsx
+++ b/resources/assets/tests/components/Viewer.test.tsx
@@ -15,7 +15,7 @@ describe('indicator', () => {
})
it('nothing', () => {
- const { queryByText } = render()
+ const { queryByText } = render()
expect(queryByText(t('general.skin'))).not.toBeInTheDocument()
expect(queryByText(t('general.cape'))).not.toBeInTheDocument()
})
@@ -70,75 +70,51 @@ describe('actions', () => {
const { getByTitle } = render()
fireEvent.click(getByTitle(t('general.reset')))
})
+
+ it('reset when running', () => {
+ const { getByTitle } = render()
+ fireEvent.click(getByTitle(`${t('general.walk')} / ${t('general.run')}`))
+ fireEvent.click(getByTitle(t('general.reset')))
+ })
})
describe('background', () => {
it('white', () => {
- const { getByTitle, baseElement } = render()
+ const { getByTitle } = render()
fireEvent.click(getByTitle(t('colors.white')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toBe('rgb(255, 255, 255)')
})
it('black', () => {
- const { getByTitle, baseElement } = render()
+ const { getByTitle } = render()
fireEvent.click(getByTitle(t('colors.black')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toBe('rgb(0, 0, 0)')
})
it('white', () => {
- const { getByTitle, baseElement } = render()
+ const { getByTitle } = render()
fireEvent.click(getByTitle(t('colors.gray')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toBe('rgb(108, 117, 125)')
})
it('previous picture', () => {
- const { getByTitle, baseElement } = render()
-
+ const { getByTitle } = render()
fireEvent.click(getByTitle(t('colors.prev')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toStartWith('url')
-
fireEvent.click(getByTitle(t('colors.prev')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toStartWith('url')
})
it('next picture', () => {
- const { getByTitle, baseElement } = render()
+ const { getByTitle } = render()
fireEvent.click(getByTitle(t('colors.next')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toStartWith('url')
-
fireEvent.click(getByTitle(t('colors.next')))
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toStartWith('url')
Array.from({ length: PICTURES_COUNT - 1 }).forEach(() => {
fireEvent.click(getByTitle(t('colors.next')))
})
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toStartWith('url')
})
it('default for dark mode', () => {
document.body.classList.add('dark-mode')
- const { baseElement } = render()
- expect(
- baseElement.querySelector('.card-body')!.style.background,
- ).toBe('rgb(108, 117, 125)')
+ render()
document.body.classList.remove('dark-mode')
})