Commit 473fdad5 authored by zarina's avatar zarina 🌊

ACP-35 написала тесты на подтверждение email/номера телефона

parent dc09d0b4
Feature('Авторизация/Регистрация');
Scenario('Проверка токена', async ({I}) => {
let response = await I.sendPostRequest('account/reset-password/', {email: "rina.saif221@gmail.com"});
I.amOnPage('/reset-password?token=' + response.data.token)
I.fillField({id: 'password'}, '123456rrr');
I.fillField({id: 'confirm_password'}, '123456rrr');
I.click({name: 'reset_password_btn'})
I.waitForText('Пароль успешно изменен')
});
...@@ -3,7 +3,7 @@ exports.config = { ...@@ -3,7 +3,7 @@ exports.config = {
helpers: { helpers: {
Puppeteer: { Puppeteer: {
url: 'http://localhost:4200/', url: 'http://localhost:4200/',
show: false, show: true,
windowSize: '1200x900' windowSize: '1200x900'
}, },
REST: { REST: {
...@@ -37,7 +37,7 @@ exports.config = { ...@@ -37,7 +37,7 @@ exports.config = {
enabled: true enabled: true
} }
}, },
tests: './*_test.js', tests: './tests/*_test.js',
name: 'attractor-crm-tests', name: 'attractor-crm-tests',
translation: 'ru-RU' translation: 'ru-RU'
} }
\ No newline at end of file
#language: ru #language: ru
Функция: Авторизация/Аутентификация Функция: Авторизация/Аутентификация
Сценарий: Успешный логин и логаут # Сценарий: Успешный логин и логаут
Допустим я захожу на страницу 'login' # Допустим я захожу на страницу 'login'
Если я ввожу "admin@mail.ru" в поле "email" # Если я ввожу "rina.saif221@mail.ru" в поле "email"
И я ввожу "12345" в поле "password" # И я ввожу "123456ttt" в поле "password"
И я нажимаю на кнопку "login_btn" # И я нажимаю на кнопку "login_btn"
И я жду 3 секунды # И я жду 3 секунды
Затем я захожу на страницу 'login' # Затем я захожу на страницу 'login'
И я не вижу текст 'Вход' # И я не вижу текст 'Вход'
Если я нажимаю на кнопку 'logout' # Если я нажимаю на кнопку 'logout'
И я захожу на страницу 'login' # И я захожу на страницу 'login'
То я вижу текст 'Вход' # То я вижу текст 'Вход'
#
Сценарий: Неправильный логин или пароль # Сценарий: Неправильный логин или пароль
Допустим я захожу на страницу 'login' # Допустим я захожу на страницу 'login'
Если я ввожу "admin@mail.ru" в поле "email" # Если я ввожу "admin@mail.ru" в поле "email"
И я ввожу "1" в поле "password" # И я ввожу "1" в поле "password"
Затем я нажимаю на кнопку "login_btn" # Затем я нажимаю на кнопку "login_btn"
Тогда я вижу текст "Ошибка: Неверный email или пароль" # Тогда я вижу текст "Ошибка: Неверный email или пароль"
Если я нажимаю на кнопку "login_btn" # Если я нажимаю на кнопку "login_btn"
И я нажимаю на кнопку "login_btn" # И я нажимаю на кнопку "login_btn"
То я вижу текст "Ошибка: Вы трижды ввели неправильный email или пароль. Повторите попытку через 30 минут" # То я вижу текст "Ошибка: Вы трижды ввели неправильный email или пароль. Повторите попытку через 30 минут"
#
Сценарий: Валдиация фронт # Сценарий: Валдиация фронт
Допустим я захожу на страницу 'login' # Допустим я захожу на страницу 'login'
Если я ввожу "admin@q" в поле "email" # Если я ввожу "admin@q" в поле "email"
И я ввожу "1" в поле "password" # И я ввожу "1" в поле "password"
То я вижу текст "Ошибка валидации." # То я вижу текст "Ошибка валидации."
#
Сценарий: Восстановление пароля валидация # Сценарий: Восстановление пароля валидация
Допустим я захожу на страницу '/reset-password' # Допустим я захожу на страницу '/reset-password'
Если я ввожу "some_user@qre.eee" в поле "email" # Если я ввожу "some_user@qre.eee" в поле "email"
И я нажимаю на кнопку "reset_password_btn" # И я нажимаю на кнопку "reset_password_btn"
То я вижу текст "Ошибка: Email не найден" # То я вижу текст "Ошибка: Email не найден"
#
Сценарий: Восстановление пароля, успешная отправка письма # Сценарий: Восстановление пароля, успешная отправка письма
Допустим я захожу на страницу '/reset-password' # Допустим я захожу на страницу '/reset-password'
И я ввожу "rina.saif221@gmail.com" в поле "email" # И я ввожу "rina.saif221@gmail.com" в поле "email"
И я нажимаю на кнопку "reset_password_btn" # И я нажимаю на кнопку "reset_password_btn"
Затем я жду текст "На указанный email отправлено письмо с подтверждением смены пароля" # Затем я жду текст "На указанный email отправлено письмо с подтверждением смены пароля"
#
Сценарий: Проверка токена, токен невалидный # Сценарий: Проверка токена, токен невалидный
Допустим я захожу на страницу '/reset-password?token=123' # Допустим я захожу на страницу '/reset-password?token=123'
То я жду текст "Ошибка: Данный токен недействителен" # То я жду текст "Ошибка: Данный токен недействителен"
#
// Feature('Авторизация/Аутентификация');
// Scenario('Успешная проверка токена', async ({I}) => {
// let response = await I.sendPostRequest('account/reset-password/', {email: "rina.saif221@gmail.com"});
// I.amOnPage('/reset-password?token=' + response.data.token)
// I.fillField({id: 'password'}, '123456rrr');
// I.fillField({id: 'confirm_password'}, '123456rrr');
// I.click({name: 'reset_password_btn'})
// I.waitForText('Пароль успешно изменен')
// });
Feature('Профиль')
Scenario('Модалка и ее скрытие о неподтверженном телефона, отправка зпроса с кнопки профиля', async ({I}) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.see('Подтвердите свой номер телефона, иначе вы не сможете получать важные уведомления от Attractor School')
I.click({id: 'hide_phone_modal_btn'})
I.dontSee('Подтвердите свой номер телефона, иначе вы не сможете получать важные уведомления от Attractor School')
I.see('подтвердить номер телефона')
I.click({id: 'verify_phone_btn'})
I.click({id: 'verify_phone_btn'})
I.waitForText('Смс с кодом подтверждения отправлено на ваш номер')
I.click({id:'hide_code_modal_btn'})
I.dontSee('Смс с кодом подтверждения отправлено на ваш номер')
I.see('подтвердить номер телефона')
});
Scenario('Подтверждение номера телефона + валидация + модалка', async ({I}) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.see('Подтвердите свой номер телефона, иначе вы не сможете получать важные уведомления от Attractor School')
I.click({id: 'verify_phone_btn_modal'})
I.waitForText('Смс с кодом подтверждения отправлено на ваш номер')
I.fillField({id: 'code'}, '5555')
I.click({id: 'code_submit_btn'})
I.waitForText('Код подтверждения некорректный')
I.fillField({id: 'code'}, '0000')
I.click({id: 'code_submit_btn'})
I.waitForText('Номер успешно подтвержден')
I.click({id: 'close_phone_modal_btn'})
I.refreshPage()
I.wait(3)
I.dontSee('Подтвердите свой номер телефона, иначе вы не сможете получать важные уведомления от Attractor School')
});
Scenario('Модалка и ее скрытие о неподтверженном email, отправка зпроса с кнопки профиля', async ({I}) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
I.click({id: 'hide_email_modal_btn'})
I.dontSee('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
I.see('подтвердить email')
I.click({id: 'verify_email_btn'})
I.waitForText('Письмо с ссылкой подтверждения отправлено на ваш email')
I.click({id:'close_email_modal_btn'})
I.dontSee('Письмо с ссылкой подтверждения отправлено на ваш email')
});
Scenario('Отправка запроса на подтверждение email c модалки', async ({I}) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
I.click({id: 'verify_email_btn_modal'})
I.waitForText('Письмо с ссылкой подтверждения отправлено на ваш email')
I.click({id:'close_email_modal_btn'})
I.dontSee('Письмо с ссылкой подтверждения отправлено на ваш email')
});
Scenario('Обработка невалидного токена подтверждения email', async ({I}) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.waitForText('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
I.amOnPage('/verify-email?token=wwTIss')
I.waitForText('Ссылка подтверждения некорректна')
I.click({id: 'to_profile_btn'})
I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
});
// Scenario('Редактирование профиля', async ({I}) => {
// I.amOnPage('/login')
// I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
// I.fillField({id: 'password'}, '123456ttt')
// I.click({name:'login_btn'})
//
// });
//
//
Scenario('Обработка валидиного токена подтверждения email', async ({I}) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
I.click({id: 'verify_email_btn_modal'})
I.waitForText('Письмо с ссылкой подтверждения отправлено на ваш email')
I.amOnPage('/verify-email?token=0000')
I.waitForText('Email успешно подтвержден')
I.click({id: 'to_profile_btn'})
I.wait(3)
I.dontSee('Подтвердить email')
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment