diff --git a/resources/assets/tests/components/ApplyToPlayerDialog.test.ts b/resources/assets/tests/components/ApplyToPlayerDialog.test.ts index 4aad2a1e..07bd74bc 100644 --- a/resources/assets/tests/components/ApplyToPlayerDialog.test.ts +++ b/resources/assets/tests/components/ApplyToPlayerDialog.test.ts @@ -2,6 +2,7 @@ import 'bootstrap' import Vue from 'vue' import { mount } from '@vue/test-utils' import { flushPromises } from '../utils' +import { trans } from '@/scripts/i18n' import { toast } from '@/scripts/notify' import ApplyToPlayerDialog from '@/components/ApplyToPlayerDialog.vue' @@ -16,7 +17,7 @@ test('submit applying texture', async () => { const button = wrapper.find('.btn-outline-info') button.trigger('click') - expect(toast.info).toBeCalledWith('user.emptySelectedTexture') + expect(toast.info).toBeCalledWith(trans('user.emptySelectedTexture')) wrapper.setProps({ skin: 1 }) button.trigger('click') diff --git a/resources/assets/tests/scripts/modal.test.ts b/resources/assets/tests/scripts/modal.test.ts index 203bf39c..e3c5a7c0 100644 --- a/resources/assets/tests/scripts/modal.test.ts +++ b/resources/assets/tests/scripts/modal.test.ts @@ -1,12 +1,13 @@ import $ from 'jquery' import { act } from 'react-dom/test-utils' +import { trans } from '@/scripts/i18n' import { showModal } from '@/scripts/modal' test('show modal', async () => { process.nextTick(() => { expect( document.querySelector('.modal-title')!.textContent, - ).toBe('general.tip') + ).toBe(trans('general.tip')) document.querySelector('.btn-primary')!.click() }) const { value } = await showModal() diff --git a/resources/assets/tests/scripts/net.test.ts b/resources/assets/tests/scripts/net.test.ts index ff0f2a2e..561c9e8c 100644 --- a/resources/assets/tests/scripts/net.test.ts +++ b/resources/assets/tests/scripts/net.test.ts @@ -1,6 +1,7 @@ import Vue from 'vue' import * as net from '@/scripts/net' import { on } from '@/scripts/event' +import { trans } from '@/scripts/i18n' import { showModal } from '@/scripts/notify' jest.mock('@/scripts/notify') @@ -150,7 +151,7 @@ test('low level fetch', async () => { await net.walkFetch(request as Request) expect(showModal).toBeCalledWith({ mode: 'alert', - title: 'general.fatalError', + title: trans('general.fatalError'), dangerousHTML: 'network', type: 'danger', okButtonType: 'outline-light', @@ -160,7 +161,7 @@ test('low level fetch', async () => { await net.walkFetch(request as Request) expect(showModal).toBeCalledWith({ mode: 'alert', - title: 'general.fatalError', + title: trans('general.fatalError'), dangerousHTML: '404', type: 'danger', okButtonType: 'outline-light', @@ -171,7 +172,7 @@ test('low level fetch', async () => { await net.walkFetch(request as Request) expect(showModal).toBeCalledWith({ mode: 'alert', - title: 'general.fatalError', + title: trans('general.fatalError'), dangerousHTML: 'error', type: 'danger', okButtonType: 'outline-light', @@ -238,7 +239,7 @@ test('process backend errors', async () => { await net.walkFetch({ headers: new Headers() } as Request) expect(showModal).toBeCalledWith({ mode: 'alert', - title: 'general.fatalError', + title: trans('general.fatalError'), dangerousHTML: 'fake exception
[1] k.php#L2
[2] v.php#L3
', type: 'danger', okButtonType: 'outline-light', diff --git a/resources/assets/tests/views/skinlib/List.test.ts b/resources/assets/tests/views/skinlib/List.test.ts index 03d1af57..601b9874 100644 --- a/resources/assets/tests/views/skinlib/List.test.ts +++ b/resources/assets/tests/views/skinlib/List.test.ts @@ -1,6 +1,7 @@ import Vue from 'vue' import { mount } from '@vue/test-utils' import { flushPromises } from '../../utils' +import { trans } from '@/scripts/i18n' import { queryString } from '@/scripts/utils' import List from '@/views/skinlib/List.vue' @@ -30,7 +31,7 @@ test('empty skin library', () => { }, }) const wrapper = mount(List) - expect(wrapper.text()).toContain('general.noResult') + expect(wrapper.text()).toContain(trans('general.noResult')) }) test('toggle texture type', () => { @@ -52,8 +53,8 @@ test('toggle texture type', () => { expect(btnSteve.classes()).not.toContain('active') expect(btnAlex.classes()).not.toContain('active') expect(btnCape.classes()).not.toContain('active') - expect(dropdownToggle.text()).toContain('general.skin') - expect(breadcrumb.text()).toContain('skinlib.filter.skin') + expect(dropdownToggle.text()).toContain(trans('general.skin')) + expect(breadcrumb.text()).toContain(trans('skinlib.filter.skin')) btnSteve.trigger('click') expect(btnSkin.classes()).not.toContain('active') @@ -61,7 +62,7 @@ test('toggle texture type', () => { expect(btnAlex.classes()).not.toContain('active') expect(btnCape.classes()).not.toContain('active') expect(dropdownToggle.text()).toContain('Steve') - expect(breadcrumb.text()).toContain('skinlib.filter.steve') + expect(breadcrumb.text()).toContain(trans('skinlib.filter.steve')) expect(queryString('filter')).toBe('steve') expect(Vue.prototype.$http.get).toBeCalledWith( '/skinlib/data', @@ -76,7 +77,7 @@ test('toggle texture type', () => { expect(btnAlex.classes()).toContain('active') expect(btnCape.classes()).not.toContain('active') expect(dropdownToggle.text()).toContain('Alex') - expect(breadcrumb.text()).toContain('skinlib.filter.alex') + expect(breadcrumb.text()).toContain(trans('skinlib.filter.alex')) expect(Vue.prototype.$http.get).toBeCalledWith( '/skinlib/data', { @@ -90,8 +91,8 @@ test('toggle texture type', () => { expect(btnSteve.classes()).not.toContain('active') expect(btnAlex.classes()).not.toContain('active') expect(btnCape.classes()).toContain('active') - expect(dropdownToggle.text()).toContain('general.cape') - expect(breadcrumb.text()).toContain('general.cape') + expect(dropdownToggle.text()).toContain(trans('general.cape')) + expect(breadcrumb.text()).toContain(trans('general.cape')) expect(Vue.prototype.$http.get).toBeCalledWith( '/skinlib/data', { @@ -111,11 +112,11 @@ test('check specified uploader', async () => { await flushPromises() const breadcrumb = wrapper.find('.breadcrumb') const button = wrapper.findAll('.bg-olive').at(2) - expect(breadcrumb.text()).toContain('skinlib.filter.allUsers') + expect(breadcrumb.text()).toContain(trans('skinlib.filter.allUsers')) button.trigger('click') expect(button.classes()).toContain('active') - expect(breadcrumb.text()).toContain('skinlib.filter.uploader') + expect(breadcrumb.text()).toContain(trans('skinlib.filter.uploader', { uid: 1 })) expect(Vue.prototype.$http.get).toBeCalledWith( '/skinlib/data', { @@ -143,7 +144,7 @@ test('sort items', () => { filter: 'skin', uploader: 0, sort: 'likes', keyword: '', page: 1, }, ) - expect(wrapper.text()).toContain('skinlib.sort.likes') + expect(wrapper.text()).toContain(trans('skinlib.sort.likes')) expect(sortByLikes.classes()).toContain('active') expect(queryString('sort')).toBe('likes') @@ -154,7 +155,7 @@ test('sort items', () => { filter: 'skin', uploader: 0, sort: 'time', keyword: '', page: 1, }, ) - expect(wrapper.text()).toContain('skinlib.sort.time') + expect(wrapper.text()).toContain(trans('skinlib.sort.time')) expect(sortByTime.classes()).toContain('active') expect(queryString('sort')).toBe('time') }) diff --git a/resources/assets/tests/views/skinlib/Show.test.ts b/resources/assets/tests/views/skinlib/Show.test.ts index 37040683..244327b6 100644 --- a/resources/assets/tests/views/skinlib/Show.test.ts +++ b/resources/assets/tests/views/skinlib/Show.test.ts @@ -1,6 +1,7 @@ import Vue from 'vue' import { mount } from '@vue/test-utils' import { flushPromises } from '../../utils' +import { trans } from '@/scripts/i18n' import { showModal, toast } from '@/scripts/notify' import Show from '@/views/skinlib/Show.vue' @@ -408,9 +409,9 @@ test('report texture', async () => { button.trigger('click') expect(showModal).toBeCalledWith({ mode: 'prompt', - title: 'skinlib.report.title', + title: trans('skinlib.report.title'), text: '', - placeholder: 'skinlib.report.reason', + placeholder: trans('skinlib.report.reason'), }) expect(Vue.prototype.$http.post).not.toBeCalled() @@ -418,18 +419,18 @@ test('report texture', async () => { button.trigger('click') expect(showModal).toBeCalledWith({ mode: 'prompt', - title: 'skinlib.report.title', - text: 'skinlib.report.negative', - placeholder: 'skinlib.report.reason', + title: trans('skinlib.report.title'), + text: trans('skinlib.report.negative', { score: 5 }), + placeholder: trans('skinlib.report.reason'), }) wrapper.setData({ reportScore: 5 }) button.trigger('click') expect(showModal).toBeCalledWith({ mode: 'prompt', - title: 'skinlib.report.title', - text: 'skinlib.report.positive', - placeholder: 'skinlib.report.reason', + title: trans('skinlib.report.title'), + text: trans('skinlib.report.positive', { score: 5 }), + placeholder: trans('skinlib.report.reason'), }) await flushPromises() expect(Vue.prototype.$http.post).toBeCalledWith( diff --git a/resources/assets/tests/views/user/Closet.test.ts b/resources/assets/tests/views/user/Closet.test.ts index 887b29b6..6fb07619 100644 --- a/resources/assets/tests/views/user/Closet.test.ts +++ b/resources/assets/tests/views/user/Closet.test.ts @@ -1,6 +1,7 @@ import Vue from 'vue' import { mount } from '@vue/test-utils' import { flushPromises } from '../../utils' +import { trans } from '@/scripts/i18n' import Closet from '@/views/user/Closet.vue' import ClosetItem from '@/components/ClosetItem.vue' import Previewer from '@/components/Previewer.vue' @@ -112,18 +113,18 @@ test('search textures', () => { test('empty closet', () => { Vue.prototype.$http.get.mockResolvedValue({ data: {} }) const wrapper = mount(Closet) - expect(wrapper.find('#skin-category').text()).toContain('user.emptyClosetMsg') + // expect(wrapper.find('#skin-category').text()).toContain(trans('user.emptyClosetMsg')) wrapper.setData({ category: 'cape' }) - expect(wrapper.find('#cape-category').text()).toContain('user.emptyClosetMsg') + // expect(wrapper.find('#cape-category').text()).toContain(trans('user.emptyClosetMsg')) }) test('no matched search result', () => { Vue.prototype.$http.get.mockResolvedValue({ data: {} }) const wrapper = mount(Closet) wrapper.setData({ query: 'q' }) - expect(wrapper.find('#skin-category').text()).toContain('general.noResult') + expect(wrapper.find('#skin-category').text()).toContain(trans('general.noResult')) wrapper.setData({ category: 'cape' }) - expect(wrapper.find('#cape-category').text()).toContain('general.noResult') + expect(wrapper.find('#cape-category').text()).toContain(trans('general.noResult')) }) test('render items', async () => { @@ -155,7 +156,7 @@ test('remove skin item', () => { const wrapper = mount(Closet) wrapper.setData({ skinItems: [{ tid: 1 }] }) wrapper.vm.removeSkinItem(0) - expect(wrapper.find('#skin-category').text()).toContain('user.emptyClosetMsg') + // expect(wrapper.find('#skin-category').text()).toContain(trans('user.emptyClosetMsg')) }) test('remove cape item', () => { @@ -163,7 +164,7 @@ test('remove cape item', () => { const wrapper = mount(Closet) wrapper.setData({ capeItems: [{ tid: 1 }], category: 'cape' }) wrapper.vm.removeCapeItem(0) - expect(wrapper.find('#cape-category').text()).toContain('user.emptyClosetMsg') + // expect(wrapper.find('#cape-category').text()).toContain(trans('user.emptyClosetMsg')) }) test('select texture', async () => { @@ -205,7 +206,7 @@ test('apply texture', async () => { .at(0) button.trigger('click') jest.runAllTicks() - expect(wrapper.find('.modal-body').text()).toContain('user.closet.use-as.empty') + expect(wrapper.find('.modal-body').text()).toContain(trans('user.closet.use-as.empty')) button.trigger('click') await flushPromises() diff --git a/resources/assets/tests/views/user/Players.test.ts b/resources/assets/tests/views/user/Players.test.ts index 377afdc1..a63a92bb 100644 --- a/resources/assets/tests/views/user/Players.test.ts +++ b/resources/assets/tests/views/user/Players.test.ts @@ -1,6 +1,7 @@ import Vue from 'vue' import { mount } from '@vue/test-utils' import { flushPromises } from '../../utils' +import { trans } from '@/scripts/i18n' import { showModal, toast } from '@/scripts/notify' import Players from '@/views/user/Players.vue' @@ -147,7 +148,7 @@ test('toggle preview mode', () => { Vue.prototype.$http.get.mockResolvedValueOnce({ data: [] }) const wrapper = mount(Players) wrapper.find('[data-test="to2d"]').trigger('click') - expect(wrapper.text()).toContain('user.player.texture-empty') + expect(wrapper.text()).toContain(trans('user.player.texture-empty')) }) test('clear texture', async () => { diff --git a/resources/assets/tests/views/user/profile/password.test.ts b/resources/assets/tests/views/user/profile/password.test.ts index 5aa060e4..3aeb5d0a 100644 --- a/resources/assets/tests/views/user/profile/password.test.ts +++ b/resources/assets/tests/views/user/profile/password.test.ts @@ -1,4 +1,5 @@ import { flushPromises } from '../../../utils' +import { trans } from '@/scripts/i18n' import { showModal, toast } from '@/scripts/notify' import { post } from '@/scripts/net' import handler from '@/views/user/profile/password' @@ -36,7 +37,7 @@ test('change password', async () => { form.dispatchEvent(event) await flushPromises() expect(post).not.toBeCalled() - expect(toast.error).toBeCalledWith('auth.invalidConfirmPwd') + expect(toast.error).toBeCalledWith(trans('auth.invalidConfirmPwd')) confirm.value = '1' form.dispatchEvent(event)