fix: e2e tests
All checks were successful
it-academy/dry-wash-pl/pipeline/head This commit looks good
All checks were successful
it-academy/dry-wash-pl/pipeline/head This commit looks good
This commit is contained in:
parent
8d447c9461
commit
7736592830
9
__mocks__/react-i18next.ts
Normal file
9
__mocks__/react-i18next.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import localeRu from '../locales/ru.json';
|
||||
|
||||
module.exports = {
|
||||
useTranslation: (_, { keyPrefix }) => {
|
||||
return {
|
||||
t: (key: string) => localeRu[`${keyPrefix}.${key}`],
|
||||
};
|
||||
}
|
||||
};
|
@ -9,9 +9,11 @@ module.exports = {
|
||||
clearMocks: true,
|
||||
moduleNameMapper: {
|
||||
'\\.(svg|webp)$': '<rootDir>/__mocks__/file',
|
||||
'react-i18next': '<rootDir>/__mocks__/react-i18next',
|
||||
},
|
||||
testEnvironmentOptions: {
|
||||
customExportConditions: [''],
|
||||
},
|
||||
testEnvironment: 'jest-fixed-jsdom',
|
||||
testPathIgnorePatterns: ['/node_modules/', '<rootDir>/e2e'],
|
||||
};
|
||||
|
@ -16,7 +16,9 @@ type UpdateOrderProps = Required<Pick<OrderArm, 'id'>> &
|
||||
|
||||
export const api = createApi({
|
||||
reducerPath: 'api',
|
||||
baseQuery: fetchBaseQuery({ baseUrl: getConfigValue('dry-wash.api') }),
|
||||
baseQuery: fetchBaseQuery({
|
||||
baseUrl: new URL(getConfigValue('dry-wash.api'), location.origin).href,
|
||||
}),
|
||||
tagTypes: ['Masters', 'Orders'],
|
||||
endpoints: (builder) => ({
|
||||
getMasters: builder.query<Master[], void>({
|
||||
|
@ -6,58 +6,58 @@ exports[`Arm Page render 1`] = `
|
||||
class="css-1yeiifd"
|
||||
>
|
||||
<div
|
||||
class="css-1fp6kaj"
|
||||
class="css-13owfwq"
|
||||
>
|
||||
<h2
|
||||
class="chakra-heading css-9q1d0h"
|
||||
class="chakra-heading css-173d1bl"
|
||||
>
|
||||
title
|
||||
Сухой мастер
|
||||
</h2>
|
||||
<div
|
||||
class="chakra-stack css-1oen434"
|
||||
class="chakra-stack css-1cggwyz"
|
||||
>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="chakra-divider css-1upb9tn"
|
||||
class="chakra-divider css-svjswr"
|
||||
/>
|
||||
<a
|
||||
class="chakra-button css-uxt1e8"
|
||||
class="chakra-button css-1kg18wp"
|
||||
href="/auth/login"
|
||||
>
|
||||
orders
|
||||
Заказы
|
||||
</a>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="chakra-divider css-1upb9tn"
|
||||
class="chakra-divider css-svjswr"
|
||||
/>
|
||||
<a
|
||||
class="chakra-button css-uxt1e8"
|
||||
class="chakra-button css-1kg18wp"
|
||||
href="/auth/login"
|
||||
>
|
||||
master
|
||||
Мастера
|
||||
</a>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="chakra-divider css-1upb9tn"
|
||||
class="chakra-divider css-svjswr"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="css-sy55x5"
|
||||
class="css-jiwy8d"
|
||||
>
|
||||
<div
|
||||
class="css-hpgf8j"
|
||||
class="css-1glkkdp"
|
||||
>
|
||||
<h2
|
||||
class="chakra-heading css-r7q7qr"
|
||||
class="chakra-heading css-1xer3cv"
|
||||
>
|
||||
title
|
||||
Заказы
|
||||
</h2>
|
||||
<div
|
||||
class="css-1me9tx"
|
||||
class="css-1u3smh"
|
||||
>
|
||||
<button
|
||||
class="chakra-button css-4xx2wk"
|
||||
class="chakra-button css-ez23ye"
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
@ -72,12 +72,12 @@ exports[`Arm Page render 1`] = `
|
||||
</svg>
|
||||
</button>
|
||||
<p
|
||||
class="chakra-text css-1bntq7d"
|
||||
class="chakra-text css-52ukzg"
|
||||
>
|
||||
2/2/2025
|
||||
09.02.2025
|
||||
</p>
|
||||
<button
|
||||
class="chakra-button css-4xx2wk"
|
||||
class="chakra-button css-ez23ye"
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
@ -93,7 +93,7 @@ exports[`Arm Page render 1`] = `
|
||||
</button>
|
||||
</div>
|
||||
<table
|
||||
class="chakra-table css-0"
|
||||
class="chakra-table css-5605sr"
|
||||
>
|
||||
<thead
|
||||
class="css-0"
|
||||
@ -102,34 +102,34 @@ exports[`Arm Page render 1`] = `
|
||||
class="css-0"
|
||||
>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.carNumber
|
||||
Номер машины
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.orderDate
|
||||
Дата заказа
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.status
|
||||
Статус
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.masters
|
||||
Мастер
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.telephone
|
||||
Телефон
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.location
|
||||
Расположение
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -140,11 +140,11 @@ exports[`Arm Page render 1`] = `
|
||||
class="css-0"
|
||||
>
|
||||
<td
|
||||
class="css-12rlgei"
|
||||
class="css-1v9gmks"
|
||||
colspan="6"
|
||||
>
|
||||
<div
|
||||
class="chakra-spinner css-1y7joxr"
|
||||
class="chakra-spinner css-1j92705"
|
||||
>
|
||||
<span
|
||||
class="css-8b45rq"
|
||||
@ -159,6 +159,10 @@ exports[`Arm Page render 1`] = `
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span
|
||||
hidden=""
|
||||
id="__chakra_env"
|
||||
/>
|
||||
</div>
|
||||
`;
|
||||
|
||||
@ -168,58 +172,58 @@ exports[`Arm Page render 2`] = `
|
||||
class="css-1yeiifd"
|
||||
>
|
||||
<div
|
||||
class="css-1fp6kaj"
|
||||
class="css-13owfwq"
|
||||
>
|
||||
<h2
|
||||
class="chakra-heading css-9q1d0h"
|
||||
class="chakra-heading css-173d1bl"
|
||||
>
|
||||
title
|
||||
Сухой мастер
|
||||
</h2>
|
||||
<div
|
||||
class="chakra-stack css-1oen434"
|
||||
class="chakra-stack css-1cggwyz"
|
||||
>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="chakra-divider css-1upb9tn"
|
||||
class="chakra-divider css-svjswr"
|
||||
/>
|
||||
<a
|
||||
class="chakra-button css-uxt1e8"
|
||||
class="chakra-button css-1kg18wp"
|
||||
href="/auth/login"
|
||||
>
|
||||
orders
|
||||
Заказы
|
||||
</a>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="chakra-divider css-1upb9tn"
|
||||
class="chakra-divider css-svjswr"
|
||||
/>
|
||||
<a
|
||||
class="chakra-button css-uxt1e8"
|
||||
class="chakra-button css-1kg18wp"
|
||||
href="/auth/login"
|
||||
>
|
||||
master
|
||||
Мастера
|
||||
</a>
|
||||
<hr
|
||||
aria-orientation="horizontal"
|
||||
class="chakra-divider css-1upb9tn"
|
||||
class="chakra-divider css-svjswr"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="css-sy55x5"
|
||||
class="css-jiwy8d"
|
||||
>
|
||||
<div
|
||||
class="css-hpgf8j"
|
||||
class="css-1glkkdp"
|
||||
>
|
||||
<h2
|
||||
class="chakra-heading css-r7q7qr"
|
||||
class="chakra-heading css-1xer3cv"
|
||||
>
|
||||
title
|
||||
Заказы
|
||||
</h2>
|
||||
<div
|
||||
class="css-1me9tx"
|
||||
class="css-1u3smh"
|
||||
>
|
||||
<button
|
||||
class="chakra-button css-4xx2wk"
|
||||
class="chakra-button css-ez23ye"
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
@ -234,12 +238,12 @@ exports[`Arm Page render 2`] = `
|
||||
</svg>
|
||||
</button>
|
||||
<p
|
||||
class="chakra-text css-1bntq7d"
|
||||
class="chakra-text css-52ukzg"
|
||||
>
|
||||
2/2/2025
|
||||
09.02.2025
|
||||
</p>
|
||||
<button
|
||||
class="chakra-button css-4xx2wk"
|
||||
class="chakra-button css-ez23ye"
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
@ -255,7 +259,7 @@ exports[`Arm Page render 2`] = `
|
||||
</button>
|
||||
</div>
|
||||
<table
|
||||
class="chakra-table css-0"
|
||||
class="chakra-table css-5605sr"
|
||||
>
|
||||
<thead
|
||||
class="css-0"
|
||||
@ -264,34 +268,34 @@ exports[`Arm Page render 2`] = `
|
||||
class="css-0"
|
||||
>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.carNumber
|
||||
Номер машины
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.orderDate
|
||||
Дата заказа
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.status
|
||||
Статус
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.masters
|
||||
Мастер
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.telephone
|
||||
Телефон
|
||||
</th>
|
||||
<th
|
||||
class="css-0"
|
||||
class="css-1szkfps"
|
||||
>
|
||||
table.header.location
|
||||
Расположение
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -302,18 +306,278 @@ exports[`Arm Page render 2`] = `
|
||||
class="css-0"
|
||||
>
|
||||
<td
|
||||
class="css-12rlgei"
|
||||
colspan="6"
|
||||
class="css-zgoslk"
|
||||
>
|
||||
A123BC
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
24.11.2024
|
||||
|
||||
<br />
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
<div
|
||||
class="chakra-spinner css-1y7joxr"
|
||||
class="chakra-select__wrapper css-42b2qy"
|
||||
>
|
||||
<span
|
||||
class="css-8b45rq"
|
||||
<select
|
||||
class="chakra-select css-11j19cx"
|
||||
>
|
||||
Loading...
|
||||
</span>
|
||||
<option
|
||||
value=""
|
||||
>
|
||||
Выберите статус
|
||||
</option>
|
||||
<option
|
||||
value="pending"
|
||||
>
|
||||
В ожидании
|
||||
</option>
|
||||
<option
|
||||
value="progress"
|
||||
>
|
||||
Выполняется
|
||||
</option>
|
||||
<option
|
||||
value="working"
|
||||
>
|
||||
В работе
|
||||
</option>
|
||||
<option
|
||||
value="canceled"
|
||||
>
|
||||
Отменено
|
||||
</option>
|
||||
<option
|
||||
value="complete"
|
||||
>
|
||||
Завершено
|
||||
</option>
|
||||
</select>
|
||||
<div
|
||||
class="chakra-select__icon-wrapper css-iohxn1"
|
||||
>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
class="chakra-select__icon"
|
||||
focusable="false"
|
||||
role="presentation"
|
||||
style="width: 1em; height: 1em; color: currentColor;"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
<div
|
||||
class="chakra-select__wrapper css-42b2qy"
|
||||
>
|
||||
<select
|
||||
class="chakra-select css-161pkch"
|
||||
>
|
||||
<option
|
||||
value=""
|
||||
>
|
||||
Выберите мастера
|
||||
</option>
|
||||
<option
|
||||
value="Иван Иванов"
|
||||
>
|
||||
Иван Иванов
|
||||
</option>
|
||||
<option
|
||||
value="Олег Макаров"
|
||||
>
|
||||
Олег Макаров
|
||||
</option>
|
||||
<option
|
||||
value="Иван Галкин"
|
||||
>
|
||||
Иван Галкин
|
||||
</option>
|
||||
</select>
|
||||
<div
|
||||
class="chakra-select__icon-wrapper css-iohxn1"
|
||||
>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
class="chakra-select__icon"
|
||||
focusable="false"
|
||||
role="presentation"
|
||||
style="width: 1em; height: 1em; color: currentColor;"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
<a
|
||||
class="chakra-link css-spn4bz"
|
||||
href="tel:"
|
||||
>
|
||||
79001234563
|
||||
</a>
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
Казань, ул. Баумана, 1
|
||||
</td>
|
||||
</tr>
|
||||
<tr
|
||||
class="css-0"
|
||||
>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
A245BC
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
24.11.2024
|
||||
|
||||
<br />
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
<div
|
||||
class="chakra-select__wrapper css-42b2qy"
|
||||
>
|
||||
<select
|
||||
class="chakra-select css-lvra4l"
|
||||
>
|
||||
<option
|
||||
value=""
|
||||
>
|
||||
Выберите статус
|
||||
</option>
|
||||
<option
|
||||
value="pending"
|
||||
>
|
||||
В ожидании
|
||||
</option>
|
||||
<option
|
||||
value="progress"
|
||||
>
|
||||
Выполняется
|
||||
</option>
|
||||
<option
|
||||
value="working"
|
||||
>
|
||||
В работе
|
||||
</option>
|
||||
<option
|
||||
value="canceled"
|
||||
>
|
||||
Отменено
|
||||
</option>
|
||||
<option
|
||||
value="complete"
|
||||
>
|
||||
Завершено
|
||||
</option>
|
||||
</select>
|
||||
<div
|
||||
class="chakra-select__icon-wrapper css-iohxn1"
|
||||
>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
class="chakra-select__icon"
|
||||
focusable="false"
|
||||
role="presentation"
|
||||
style="width: 1em; height: 1em; color: currentColor;"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
<div
|
||||
class="chakra-select__wrapper css-42b2qy"
|
||||
>
|
||||
<select
|
||||
class="chakra-select css-161pkch"
|
||||
>
|
||||
<option
|
||||
value=""
|
||||
>
|
||||
Выберите мастера
|
||||
</option>
|
||||
<option
|
||||
value="Иван Иванов"
|
||||
>
|
||||
Иван Иванов
|
||||
</option>
|
||||
<option
|
||||
value="Олег Макаров"
|
||||
>
|
||||
Олег Макаров
|
||||
</option>
|
||||
<option
|
||||
value="Иван Галкин"
|
||||
>
|
||||
Иван Галкин
|
||||
</option>
|
||||
</select>
|
||||
<div
|
||||
class="chakra-select__icon-wrapper css-iohxn1"
|
||||
>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
class="chakra-select__icon"
|
||||
focusable="false"
|
||||
role="presentation"
|
||||
style="width: 1em; height: 1em; color: currentColor;"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
<a
|
||||
class="chakra-link css-spn4bz"
|
||||
href="tel:"
|
||||
>
|
||||
79001234567
|
||||
</a>
|
||||
</td>
|
||||
<td
|
||||
class="css-zgoslk"
|
||||
>
|
||||
Казань, ул. Баумана, 43
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -321,5 +585,9 @@ exports[`Arm Page render 2`] = `
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span
|
||||
hidden=""
|
||||
id="__chakra_env"
|
||||
/>
|
||||
</div>
|
||||
`;
|
||||
|
@ -12,7 +12,11 @@ import { render, screen, waitFor } from '@testing-library/react';
|
||||
import { http, HttpResponse } from 'msw';
|
||||
import { setupServer } from 'msw/node';
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
import { ChakraProvider, theme as chakraTheme } from '@chakra-ui/react';
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
import ErrorBoundary from '../../components/ErrorBoundary';
|
||||
import { store } from '../../__data__/store';
|
||||
import Page from '../arm';
|
||||
|
||||
const server = setupServer(
|
||||
@ -87,17 +91,6 @@ const server = setupServer(
|
||||
}),
|
||||
);
|
||||
|
||||
jest.mock('react-i18next', () => {
|
||||
return {
|
||||
useTranslation: () => {
|
||||
return {
|
||||
t: (key: never) => `${key}`,
|
||||
i18n: {},
|
||||
};
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
jest.mock('@brojs/cli', () => {
|
||||
return {
|
||||
getNavigationValue: () => '/auth/login',
|
||||
@ -116,9 +109,15 @@ describe('Arm Page', () => {
|
||||
});
|
||||
|
||||
const { container } = render(
|
||||
<Provider store={store}>
|
||||
<ChakraProvider theme={chakraTheme}>
|
||||
<ErrorBoundary>
|
||||
<BrowserRouter>
|
||||
<Page mockUser={{ name: 'ilnaz' }} />
|
||||
</BrowserRouter>,
|
||||
</BrowserRouter>
|
||||
</ErrorBoundary>
|
||||
</ChakraProvider>
|
||||
</Provider>,
|
||||
);
|
||||
|
||||
expect(container).toMatchSnapshot();
|
||||
|
Loading…
Reference in New Issue
Block a user