diff --git a/cypress/e2e/personalization.cy.ts b/cypress/e2e/personalization.cy.ts
new file mode 100644
index 00000000..cd4c13a8
--- /dev/null
+++ b/cypress/e2e/personalization.cy.ts
@@ -0,0 +1,54 @@
+///
+
+describe('Personalization Flow', () => {
+ beforeEach(() => {
+ // Логинимся перед каждым тестом
+ cy.login(); // Предполагается, что у вас есть команда для логина
+ });
+
+ it('should complete personalization flow and open link in new tab', () => {
+ // Переходим на страницу персонализации
+ cy.visit('/personalization');
+
+ // Выбираем пол (мужской)
+ cy.get('[data-testid="gender-male"]').click();
+
+ // Генерируем случайный возраст от 1 до 99
+ const randomAge = Math.floor(Math.random() * 99) + 1;
+
+ // Вводим возраст
+ cy.get('[data-testid="age-input"]')
+ .type(randomAge.toString())
+ .should('have.value', randomAge.toString());
+
+ // Нажимаем кнопку OK
+ cy.get('[data-testid="submit-button"]').click();
+
+ // Ждем появления скелетона загрузки
+ cy.get('[data-testid="loading-skeleton"]').should('be.visible');
+
+ // Ждем 3 минуты (в реальном тесте это будет быстрее из-за моков)
+ cy.wait(180000);
+
+ // Ждем появления кнопки копирования
+ cy.get('[data-testid="copy-button"]').should('be.visible');
+
+ // Копируем ссылку
+ cy.get('[data-testid="copy-button"]').click();
+
+ // Проверяем появление уведомления об успешном копировании
+ cy.contains('Ссылка успешно скопирована').should('be.visible');
+
+ // Получаем ссылку из буфера обмена
+ cy.window().then((win) => {
+ win.navigator.clipboard.readText().then((text) => {
+ // Открываем ссылку в новой вкладке
+ cy.window().then((win) => {
+ const newWindow = win.open(text, '_blank');
+ // Проверяем, что новая вкладка открылась
+ expect(newWindow).to.not.be.null;
+ });
+ });
+ });
+ });
+});
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 00000000..b51269e5
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,15 @@
+module.exports = {
+ transformIgnorePatterns: [
+ '/node_modules/(?!(@frontend/kitui|@frontend/squzanswerer)/)'
+ ],
+ moduleNameMapper: {
+ '^@/(.*)$': '/src/$1',
+ '^@utils/(.*)$': '/src/utils/$1',
+ '^@assets/(.*)$': '/src/assets/$1'
+ },
+ setupFilesAfterEnv: ['/src/setupTests.ts'],
+ testEnvironment: 'jsdom',
+ transform: {
+ '^.+\\.(ts|tsx)$': 'ts-jest'
+ }
+};
\ No newline at end of file
diff --git a/src/pages/PersonalizationAI/PersonalizationAI.tsx b/src/pages/PersonalizationAI/PersonalizationAI.tsx
index 8a5b4dd1..065d7b4c 100644
--- a/src/pages/PersonalizationAI/PersonalizationAI.tsx
+++ b/src/pages/PersonalizationAI/PersonalizationAI.tsx
@@ -20,6 +20,7 @@ import { makeRequest } from "@api/makeRequest";
import { setUserAccount, setCustomerAccount } from "@/stores/user";
import { quizApi } from "@api/quiz";
import { setQuizes } from "@root/quizes/actions";
+import TooltipClickInfo from "@/ui_kit/Toolbars/TooltipClickInfo";
const tariff = "6844b8858258f5cc35791ef7";
export default function PersonalizationAI() {
@@ -287,8 +288,13 @@ export default function PersonalizationAI() {
wordSpacing: "0.1px",
lineHeight: "21.4px"
}}>
- Данный раздел позволяет вам создавать персонализированный опрос под каждую целевую аудиторию отдельно, наш AI перефразирует ваши вопросы согласно настройкам. Для этого нужно выбрать пол и возраст вашей аудитории и получите персональную ссылку с нужными настройками в списке ниже. Так же вы можете обогатить свою ссылку UTM метками
- {/* Первый белый блок */}
+Данный раздел позволяет вам создавать персонализированный опрос под каждую целевую аудиторию отдельно, наш AI перефразирует ваши вопросы согласно настройкам.
+Для этого нужно выбрать пол и возраст вашей аудитории и получите персональную ссылку с нужными настройками в списке ниже.
+
+Так же вы можете обогатить свою ссылку UTM метками в поле "вставьте свою ссылку"и этим метки применятся ко всем вашим ссылкам.
+
+ВАЖНО: если ваши вопросы уже подходят целевой аудитории, то персонализированы они скорее всего не будут. {/* Первый белый блок */}
+
Ссылка
-
+
+ {/*
+
+ Данное поле создано для обогащения utm метками вашей ссылки. Нужно скопировать ссылку вашего квиза, задать настройки ца, вставить ссылку в поле, прописать метки(советуем использовать динамические), и нажать "ок" выше поля. Метки будут применены ко всем ссылкам с персонализацией в рамках данного квиза.
+
+ */}