feat: Add new features and mock data for order and configuration testing

- Updated brojs-cli mock to include additional feature flags
- Modified Jest preset to exclude more files from coverage
- Updated snapshot tests for masters, order create, order view, and orders list pages
- Added new UI elements and interactions in various components
- Improved test coverage configuration
This commit is contained in:
RustamRu 2025-03-12 01:49:44 +03:00
parent a18a26fcaf
commit 909cbd0321
6 changed files with 514 additions and 183 deletions

View File

@ -3,7 +3,9 @@ import { jest } from '@jest/globals';
jest.mock('@brojs/cli', () => ({ jest.mock('@brojs/cli', () => ({
getConfigValue: jest.fn(() => '/api'), getConfigValue: jest.fn(() => '/api'),
getFeatures: jest.fn(() => ({ getFeatures: jest.fn(() => ({
['order-view-status-polling']: { value: '3000' } ['order-view-status-polling']: { value: '3000' },
['car-img-upload']: { value: 'true' },
['order-cost']: { value: '1000' },
})), })),
getNavigationValue: jest.fn((navKey: string) => { getNavigationValue: jest.fn((navKey: string) => {
switch (navKey) { switch (navKey) {

View File

@ -5,7 +5,7 @@ module.exports = {
}, },
coverageProvider: 'v8', coverageProvider: 'v8',
coverageDirectory: 'coverage', coverageDirectory: 'coverage',
collectCoverageFrom: ['**/src/**/*.{ts,tsx}', '!**/src/app.tsx'], collectCoverageFrom: ['**/src/**/*.{ts,tsx}', '!**/src/app.tsx', '!**/src/**/types.ts', '!**/src/**/*.d.ts', '!**/src/models/**/*'],
collectCoverage: true, collectCoverage: true,
clearMocks: true, clearMocks: true,
moduleNameMapper: { moduleNameMapper: {

View File

@ -3,46 +3,42 @@
exports[`Master Page should display master list and show details when master button is clicked 1`] = ` exports[`Master Page should display master list and show details when master button is clicked 1`] = `
<div> <div>
<div <div
class="css-1yeiifd" class="css-s92abg"
> >
<div <header
class="css-13owfwq" class="css-106dwq4"
> >
<h2
class="chakra-heading css-173d1bl"
>
Сухой мастер
</h2>
<div <div
class="chakra-stack css-1cggwyz" class="css-br9knx"
> >
<hr <h2
aria-orientation="horizontal" class="chakra-heading css-8w8uga"
class="chakra-divider css-svjswr"
/>
<a
class="chakra-button css-18yoix2"
href="/order"
> >
Заказы Сухой мастер
</a> </h2>
<hr <div
aria-orientation="horizontal" class="chakra-stack css-1rafi8n"
class="chakra-divider css-svjswr"
/>
<a
class="chakra-button css-1kg18wp"
data-testid="master-button"
href="/master"
> >
Мастера <a
</a> class="chakra-button css-19byqlw"
<hr href="/order"
aria-orientation="horizontal" >
class="chakra-divider css-svjswr" Заказы
/> </a>
<hr
aria-orientation="vertical"
class="chakra-divider css-zw0v9u"
/>
<a
class="chakra-button css-g11sl9"
data-testid="master-button"
href="/master"
>
Мастера
</a>
</div>
</div> </div>
</div> </header>
<div <div
class="css-jiwy8d" class="css-jiwy8d"
> >

View File

@ -90,65 +90,163 @@ exports[`Create Order page renders page structure 1`] = `
> >
Цвет автомобиля Цвет автомобиля
</label> </label>
<input <div
class="chakra-input css-moii5c" class="chakra-stack css-uv9e93"
id="field-:r2:"
list=":r3:"
name="carColor"
value=""
/>
<datalist
id=":r3:"
> >
<option <div
label="white" class="css-ed0q6j"
value="#ffffff"
> >
white <button
</option> class="css-6su6fj"
<option type="button"
label="black" >
value="#000000" <div
> class="css-11g98ql"
black >
</option> <div
<option class="css-1k9efnl"
label="silver" >
value="#c0c0c0" <div
> class="css-96lva5"
silver />
</option> </div>
<option </div>
label="gray" </button>
value="#808080" <button
> class="css-6su6fj"
gray type="button"
</option> >
<option <div
label="beige-brown" class="css-11g98ql"
value="#796745" >
> <div
beige-brown class="css-1k9efnl"
</option> >
<option <div
label="red" class="css-c58w4d"
value="#b90000" />
> </div>
red </div>
</option> </button>
<option <button
label="blue" class="css-6su6fj"
value="#003B62" type="button"
> >
blue <div
</option> class="css-11g98ql"
<option >
label="green" <div
value="#078d51" class="css-1k9efnl"
> >
green <div
</option> class="css-ltoa43"
</datalist> />
</div>
</div>
</button>
<button
class="css-6su6fj"
type="button"
>
<div
class="css-11g98ql"
>
<div
class="css-1k9efnl"
>
<div
class="css-vqo9x6"
/>
</div>
</div>
</button>
<button
class="css-6su6fj"
type="button"
>
<div
class="css-11g98ql"
>
<div
class="css-1k9efnl"
>
<div
class="css-1lr2es4"
/>
</div>
</div>
</button>
<button
class="css-6su6fj"
type="button"
>
<div
class="css-11g98ql"
>
<div
class="css-1k9efnl"
>
<div
class="css-1wfunc4"
/>
</div>
</div>
</button>
<button
class="css-6su6fj"
type="button"
>
<div
class="css-11g98ql"
>
<div
class="css-1k9efnl"
>
<div
class="css-fg5oe6"
/>
</div>
</div>
</button>
<button
class="css-6su6fj"
type="button"
>
<div
class="css-11g98ql"
>
<div
class="css-1k9efnl"
>
<div
class="css-f0pfxe"
/>
</div>
</div>
</button>
<button
class="css-6su6fj"
type="button"
>
<div
class="css-bf4qsc"
>
<div
class="css-1k9efnl"
>
<div
class="css-r58uxc"
/>
<p
class="chakra-text css-1xa8ojw"
>
Другой
</p>
</div>
</div>
</button>
</div>
</div>
</div> </div>
<div <div
class="chakra-form-control css-1kxonj9" class="chakra-form-control css-1kxonj9"
@ -157,7 +255,7 @@ exports[`Create Order page renders page structure 1`] = `
<label <label
class="chakra-form__label css-g6pte" class="chakra-form__label css-g6pte"
for="carBody" for="carBody"
id="field-:r4:-label" id="field-:r3:-label"
> >
Тип кузова автомобиля Тип кузова автомобиля
<span <span
@ -169,13 +267,13 @@ exports[`Create Order page renders page structure 1`] = `
</span> </span>
</label> </label>
<div <div
class="css-8atqhb" class="css-1kxonj9"
> >
<input <input
aria-readonly="true" aria-readonly="true"
aria-required="true" aria-required="true"
class="chakra-input css-moii5c" class="chakra-input css-moii5c"
id="field-:r4:" id="field-:r3:"
name="carBody" name="carBody"
placeholder="Не указан" placeholder="Не указан"
readonly="" readonly=""
@ -184,19 +282,19 @@ exports[`Create Order page renders page structure 1`] = `
/> />
<div <div
class="chakra-popover__popper css-iy22zq" class="chakra-popover__popper css-iy22zq"
style="visibility: hidden; position: absolute; inset: 0 auto auto 0;" style="visibility: hidden; position: fixed; inset: 0 auto auto 0;"
> >
<section <section
aria-describedby="popover-body-:r8:" aria-describedby="popover-body-:r7:"
class="chakra-popover__content css-1mvj5hv" class="chakra-popover__content css-1mvj5hv"
id="popover-content-:r8:" id="popover-content-:r7:"
role="dialog" role="dialog"
style="transform-origin: var(--popper-transform-origin); opacity: 0; visibility: hidden; transform: scale(0.95) translateZ(0);" style="transform-origin: var(--popper-transform-origin); opacity: 0; visibility: hidden; transform: scale(0.95) translateZ(0);"
tabindex="-1" tabindex="-1"
> >
<div <div
class="chakra-popover__body css-1uqsyei" class="chakra-popover__body css-1uqsyei"
id="popover-body-:r8:" id="popover-body-:r7:"
> >
<div <div
class="css-124gwxm" class="css-124gwxm"
@ -211,8 +309,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:r9:" id="radio-:r8:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -243,8 +341,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:ra:" id="radio-:r9:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -275,8 +373,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rb:" id="radio-:ra:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -307,8 +405,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rc:" id="radio-:rb:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -339,8 +437,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rd:" id="radio-:rc:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -371,8 +469,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:re:" id="radio-:rd:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -403,8 +501,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rf:" id="radio-:re:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -435,8 +533,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rg:" id="radio-:rf:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -467,8 +565,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rh:" id="radio-:rg:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -499,8 +597,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:ri:" id="radio-:rh:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -531,8 +629,8 @@ exports[`Create Order page renders page structure 1`] = `
<input <input
aria-required="true" aria-required="true"
hidden="" hidden=""
id="radio-:rj:" id="radio-:ri:"
name="radio-:r5:" name="radio-:r4:"
required="" required=""
style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; margin: -1px; padding: 0px; overflow: hidden; white-space: nowrap; position: absolute;"
type="radio" type="radio"
@ -566,8 +664,8 @@ exports[`Create Order page renders page structure 1`] = `
> >
<label <label
class="chakra-form__label css-g6pte" class="chakra-form__label css-g6pte"
for="field-:rk:" for="field-:rj:"
id="field-:rk:-label" id="field-:rj:-label"
> >
В какое время автомобиль доступен? В какое время автомобиль доступен?
<span <span
@ -590,7 +688,7 @@ exports[`Create Order page renders page structure 1`] = `
> >
<input <input
class="chakra-input css-moii5c" class="chakra-input css-moii5c"
id="field-:rl:" id="field-:rk:"
max="" max=""
name="availableDatetimeBegin" name="availableDatetimeBegin"
type="datetime-local" type="datetime-local"
@ -607,7 +705,7 @@ exports[`Create Order page renders page structure 1`] = `
> >
<input <input
class="chakra-input css-moii5c" class="chakra-input css-moii5c"
id="field-:rm:" id="field-:rl:"
min="" min=""
name="availableDatetimeEnd" name="availableDatetimeEnd"
type="datetime-local" type="datetime-local"
@ -624,7 +722,7 @@ exports[`Create Order page renders page structure 1`] = `
<label <label
class="chakra-form__label css-g6pte" class="chakra-form__label css-g6pte"
for="carLocation" for="carLocation"
id="field-:rn:-label" id="field-:rm:-label"
> >
Где находится автомобиль? Где находится автомобиль?
<span <span
@ -638,7 +736,7 @@ exports[`Create Order page renders page structure 1`] = `
<div /> <div />
<div <div
class="chakra-form__helper-text css-186pyma" class="chakra-form__helper-text css-186pyma"
id="field-:rn:-helptext" id="field-:rm:-helptext"
> >
Например, 55.754364, 48.743295 Университетская улица, 1, Иннополис, Верхнеуслонский район, Республика Татарстан (Татарстан), 420500 Например, 55.754364, 48.743295 Университетская улица, 1, Иннополис, Верхнеуслонский район, Республика Татарстан (Татарстан), 420500
</div> </div>

File diff suppressed because one or more lines are too long

View File

@ -3,46 +3,42 @@
exports[`Страница заказов должна корректно отображать список заказов после загрузки данных 1`] = ` exports[`Страница заказов должна корректно отображать список заказов после загрузки данных 1`] = `
<div> <div>
<div <div
class="css-1yeiifd" class="css-s92abg"
> >
<div <header
class="css-13owfwq" class="css-106dwq4"
> >
<h2
class="chakra-heading css-173d1bl"
>
Сухой мастер
</h2>
<div <div
class="chakra-stack css-1cggwyz" class="css-br9knx"
> >
<hr <h2
aria-orientation="horizontal" class="chakra-heading css-8w8uga"
class="chakra-divider css-svjswr"
/>
<a
class="chakra-button css-1kg18wp"
href="/auth/login"
> >
Заказы Сухой мастер
</a> </h2>
<hr <div
aria-orientation="horizontal" class="chakra-stack css-1rafi8n"
class="chakra-divider css-svjswr"
/>
<a
class="chakra-button css-1kg18wp"
data-testid="master-button"
href="/auth/login"
> >
Мастера <a
</a> class="chakra-button css-g11sl9"
<hr href="/auth/login"
aria-orientation="horizontal" >
class="chakra-divider css-svjswr" Заказы
/> </a>
<hr
aria-orientation="vertical"
class="chakra-divider css-zw0v9u"
/>
<a
class="chakra-button css-g11sl9"
data-testid="master-button"
href="/auth/login"
>
Мастера
</a>
</div>
</div> </div>
</div> </header>
<div <div
class="css-jiwy8d" class="css-jiwy8d"
> >
@ -75,7 +71,7 @@ exports[`Страница заказов должна корректно ото
<p <p
class="chakra-text css-52ukzg" class="chakra-text css-52ukzg"
> >
23.02.2025 12.03.2025
</p> </p>
<button <button
class="chakra-button css-ez23ye" class="chakra-button css-ez23ye"
@ -177,12 +173,7 @@ exports[`Страница заказов должна корректно ото
Выполняется Выполняется
</option> </option>
<option <option
value="working" value="cancelled"
>
В работе
</option>
<option
value="canceled"
> >
Отменено Отменено
</option> </option>
@ -273,7 +264,80 @@ exports[`Страница заказов должна корректно ото
<td <td
class="css-zgoslk" class="css-zgoslk"
> >
Казань, ул. Баумана, 1 <button
aria-controls="popover-content-:r1:"
aria-expanded="false"
aria-haspopup="dialog"
class="chakra-button css-ez23ye"
id="popover-trigger-:r1:"
type="button"
>
<svg
class="chakra-icon css-onkibi"
focusable="false"
viewBox="0 0 24 24"
>
<g
fill="currentColor"
>
<path
d="M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z"
/>
<circle
cx="12"
cy="12"
r="2"
/>
</g>
</svg>
</button>
<div
class="chakra-popover__popper css-iy22zq"
style="visibility: hidden; position: absolute; min-width: max-content; inset: 0 auto auto 0;"
>
<section
aria-describedby="popover-body-:r1:"
class="chakra-popover__content css-sjj62m"
id="popover-content-:r1:"
role="dialog"
style="transform-origin: var(--popper-transform-origin); opacity: 0; visibility: hidden; transform: scale(0.95) translateZ(0);"
tabindex="-1"
>
<div
class="chakra-popover__arrow-positioner css-0"
data-popper-arrow=""
style="position: absolute;"
>
<div
class="chakra-popover__arrow css-0"
data-popper-arrow-inner=""
/>
</div>
<button
aria-label="Close"
class="chakra-popover__close-btn css-1o8qips"
type="button"
>
<svg
aria-hidden="true"
class="chakra-icon css-onkibi"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"
fill="currentColor"
/>
</svg>
</button>
<div
class="chakra-popover__body css-45vz3u"
id="popover-body-:r1:"
>
Казань, ул. Баумана, 1
</div>
</section>
</div>
</td> </td>
</tr> </tr>
<tr <tr
@ -316,12 +380,7 @@ exports[`Страница заказов должна корректно ото
Выполняется Выполняется
</option> </option>
<option <option
value="working" value="cancelled"
>
В работе
</option>
<option
value="canceled"
> >
Отменено Отменено
</option> </option>
@ -412,7 +471,80 @@ exports[`Страница заказов должна корректно ото
<td <td
class="css-zgoslk" class="css-zgoslk"
> >
Казань, ул. Баумана, 43 <button
aria-controls="popover-content-:r3:"
aria-expanded="false"
aria-haspopup="dialog"
class="chakra-button css-ez23ye"
id="popover-trigger-:r3:"
type="button"
>
<svg
class="chakra-icon css-onkibi"
focusable="false"
viewBox="0 0 24 24"
>
<g
fill="currentColor"
>
<path
d="M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z"
/>
<circle
cx="12"
cy="12"
r="2"
/>
</g>
</svg>
</button>
<div
class="chakra-popover__popper css-iy22zq"
style="visibility: hidden; position: absolute; min-width: max-content; inset: 0 auto auto 0;"
>
<section
aria-describedby="popover-body-:r3:"
class="chakra-popover__content css-sjj62m"
id="popover-content-:r3:"
role="dialog"
style="transform-origin: var(--popper-transform-origin); opacity: 0; visibility: hidden; transform: scale(0.95) translateZ(0);"
tabindex="-1"
>
<div
class="chakra-popover__arrow-positioner css-0"
data-popper-arrow=""
style="position: absolute;"
>
<div
class="chakra-popover__arrow css-0"
data-popper-arrow-inner=""
/>
</div>
<button
aria-label="Close"
class="chakra-popover__close-btn css-1o8qips"
type="button"
>
<svg
aria-hidden="true"
class="chakra-icon css-onkibi"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"
fill="currentColor"
/>
</svg>
</button>
<div
class="chakra-popover__body css-45vz3u"
id="popover-body-:r3:"
>
Казань, ул. Баумана, 43
</div>
</section>
</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>