frontPanel/cypress/e2e/personalization.cy.ts
Nastya 5ad3a810ef
All checks were successful
Deploy / CreateImage (push) Successful in 4m58s
Deploy / DeployService (push) Successful in 25s
описания
2025-06-16 08:24:10 +03:00

55 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// <reference types="cypress" />
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;
});
});
});
});
});