Commit a7c1a3aa authored by zarina's avatar zarina 🌊

ACP-56 написала тесты на регистрацию, уведомления, подтверждение

parent 453a0d7b
......@@ -3,8 +3,8 @@
Функция: Авторизация/Аутентификация
# Сценарий: Успешный логин и логаут
# Допустим я захожу на страницу 'login'
# Если я ввожу "rina.saif221@mail.ru" в поле "email"
# И я ввожу "123456ttt" в поле "password"
# Если я ввожу "qwe@qwe.qwe" в поле "email"
# И я ввожу "1qaz@WSX29" в поле "password"
# И я нажимаю на кнопку "login_btn"
# И я жду 3 секунды
# Затем я захожу на страницу 'login'
......@@ -13,15 +13,15 @@
# И я захожу на страницу 'login'
# То я вижу текст 'Вход'
#
# Сценарий: Неправильный логин или пароль
# Допустим я захожу на страницу 'login'
# Если я ввожу "admin@mail.ru" в поле "email"
# И я ввожу "1" в поле "password"
# Затем я нажимаю на кнопку "login_btn"
# Тогда я вижу текст "Ошибка: Неверный email или пароль"
# Если я нажимаю на кнопку "login_btn"
# И я нажимаю на кнопку "login_btn"
# То я вижу текст "Ошибка: Вы трижды ввели неправильный email или пароль. Повторите попытку через 30 минут"
## Сценарий: Неправильный логин или пароль
## Допустим я захожу на страницу 'login'
## Если я ввожу "admin@mail.ru" в поле "email"
## И я ввожу "1" в поле "password"
## Затем я нажимаю на кнопку "login_btn"
## Тогда я вижу текст "Ошибка: Неверный email или пароль"
## Если я нажимаю на кнопку "login_btn"
## И я нажимаю на кнопку "login_btn"
## То я вижу текст "Ошибка: Вы трижды ввели неправильный email или пароль. Повторите попытку через 30 минут"
#
# Сценарий: Валдиация фронт
# Допустим я захожу на страницу 'login'
......@@ -37,11 +37,10 @@
#
# Сценарий: Восстановление пароля, успешная отправка письма
# Допустим я захожу на страницу '/reset-password'
# И я ввожу "rina.saif221@gmail.com" в поле "email"
# И я ввожу "admin@admin.com" в поле "email"
# И я нажимаю на кнопку "reset_password_btn"
# Затем я жду текст "На указанный email отправлено письмо с подтверждением смены пароля"
#
# Сценарий: Проверка токена, токен невалидный
# Допустим я захожу на страницу '/reset-password?token=123'
# То я жду текст "Ошибка: Данный токен недействителен"
\ No newline at end of file
#
// Feature('Авторизация/Аутентификация');
// Scenario('Успешная проверка токена', async ({I}) => {
// let response = await I.sendPostRequest('account/reset-password/', {email: "rina.saif221@gmail.com"});
// let response = await I.sendPostRequest('account/reset-password/', {email: "admin@admin.com"});
// I.amOnPage('/reset-password?token=' + response.data.token)
// I.fillField({id: 'password'}, '123456rrr');
// I.fillField({id: 'confirm_password'}, '123456rrr');
// I.fillField({id: 'password'}, '1qaz@WSX29');
// I.fillField({id: 'confirm_password'}, '1qaz@WSX29');
// I.click({name: 'reset_password_btn'})
// I.waitForText('Пароль успешно изменен')
// });
// //
\ No newline at end of file
const baseLogin = (I) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.fillField({id: 'password'}, '123456ttt')
I.click({name:'login_btn'})
I.wait(3)
}
Feature('Курсы')
Scenario('Создание курса', async ({I}) => {
let someTitle = 'course-' + Math.random().toString().substring(10)
baseLogin(I)
I.amOnPage('/courses-and-groups')
I.click({id: 'create_course_btn'})
I.waitForText('Создание курса')
I.fillField({id: 'title'}, someTitle)
I.fillField({id: 'duration'}, '15')
I.click({id: 'submit_course_btn'})
I.waitForText(`Курс ${someTitle} успешно создан!`)
I.dontSee('Создание курса')
I.see(someTitle)
});
Scenario('Редактирование курса', async ({I}) => {
let someTitle = 'course-' + Math.random().toString().substring(10)
baseLogin(I)
I.amOnPage('/courses-and-groups/courses/1/edit')
I.fillField({id: 'title'}, someTitle)
I.fillField({id: 'duration'}, '15')
I.click({id: 'submit_course_btn'})
I.waitForText(`Курс ${someTitle} успешно изменен!`)
I.dontSee('Редактирование курса')
I.see(someTitle)
});
\ No newline at end of file
// const baseLogin = (I) => {
// I.amOnPage('/login')
// I.fillField({id: 'email'}, 'qwe@qwe.qwe')
// I.fillField({id: 'password'}, '1qaz@WSX29')
// I.click({name: 'login_btn'})
// I.wait(3)
// I.amOnPage('/courses-and-groups')
//
// }
// const createCourse = (I, course_name) => {
// I.click('Создать курс')
// I.waitForText('Создание курса')
// I.fillField({id: 'title'}, course_name)
// I.fillField({id: 'duration'}, '15')
// I.click({id: 'submit_course_btn'})
// I.waitForText(`Курс ${course_name} успешно создан!`)
// I.dontSee('Создание курса')
// I.see(course_name)
// }
//
// const createGroup = (I, courseName, groupNum) => {
// I.click({id: `${courseName}_card`})
// I.waitForText('+ Добавить новую группу')
// I.click('+ Добавить новую группу')
// I.waitForText('Создание группы')
// I.click({id:'start_date'})
// I.pressKey('Enter')
// I.click({id:'end_date'})
// I.pressKey('Enter')
// I.click({id: 'color_blueviolet_label'})
// I.click('Создать')
// I.see(`Группа ${courseName} ${groupNum} успешно создана!`)
// I.dontSee('Создание группы')
// }
//
// const deactivateCourse = (I, courseName) => {
// I.click({id: `${courseName}_deactivation_icon`})
// I.waitForText(`Вы уверены, что хотите деактивировать курс ${courseName}?`)
// I.click('Подтвердить')
// I.waitForText(`Курс ${courseName} успешно деактивирован!`)
// I.dontSee(`Вы уверены, что хотите деактивировать курс ${courseName}?`)
// I.dontSee(courseName)
// I.click('Перейти к неактивным')
// I.waitForText(courseName)
// }
//
// Feature('Курсы/группы')
// Scenario('Создание курса', async ({I}) => {
// baseLogin(I)
// createCourse(I, 'Java')
// });
//
//
// Scenario('Редактирование курса', async ({I}) => {
// baseLogin(I)
// I.click({id: 'Java_edit_icon'})
// I.fillField({id: 'title'}, 'Javascript')
// I.click('Сохранить')
// I.waitForText(`Курс Javascript успешно изменен!`)
// I.dontSee('Редактирование курса')
// I.see('Javascript')
// });
//
//
// Scenario('Деактивация курса', async ({I}) => {
// baseLogin(I)
// deactivateCourse(I, 'Javascript')
// });
//
// Scenario('Активация курса без групп', async ({I}) => {
// baseLogin(I)
// I.click('Перейти к неактивным')
// I.waitForText('Javascript')
// I.click({id: 'Javascript_activation_icon'})
// I.see('Курс Javascript успешно активирован!')
// I.wait(3)
// I.dontSee('Javascript')
// I.click('Перейти к активным')
// I.see('Javascript')
// })
//
// Scenario('Создание группы', async ({I}) => {
// baseLogin(I)
// createGroup(I, 'Javascript', '1')
// });
//
// Scenario('Редактирование группы', async ({I}) => {
// baseLogin(I)
// I.click({id: 'Javascript_card'})
// I.waitForText('+ Добавить новую группу')
// I.click({id: 'Javascript_1_edit'})
// I.fillField({id: 'number'}, '15')
// I.click('Сохранить')
// I.waitForText('Группа Javascript 15 успешна изменена!')
// });
//
// Scenario('Активация курса c группами без выбора групп', async ({I}) => {
// baseLogin(I)
// deactivateCourse(I,'Javascript')
// I.click({id: 'Javascript_activation_icon'})
// I.click('Подтвердить')
// I.see('Курс Javascript успешно активирован!')
// I.see('Группы курсов')
// I.click({id: 'Javascript_card'})
// I.see('Javascript 15')
// })
//
// Scenario('Активация группы', async ({I}) => {
// baseLogin(I)
// I.click('Перейти к неактивным')
// I.see('Группы курсов')
// I.click({id: 'Javascript_card'})
// I.see('Javascript 15')
// I.click({id: 'Javascript_15_activate'})
// I.waitForText('Группа Javascript 15 успешно активирована!')
// I.dontSee('Группы курсов')
// I.click('Перейти к активным')
// I.click({id: 'Javascript_card'})
// I.see('Javascript 15')
// })
//
// Scenario('Активация курса c группами c выбором групп', async ({I}) => {
// baseLogin(I)
// deactivateCourse(I,'Javascript')
// I.click({id: 'Javascript_activation_icon'})
// I.click('Выбрать все группы')
// I.click('Подтвердить')
// I.see('Курс Javascript успешно активирован!')
// I.dontSee('Группы курсов')
// I.click('Перейти к активным')
// I.click({id: 'Javascript_card'})
// I.see('Javascript 15')
// })
\ No newline at end of file
// const baseLogin = (I) => {
// I.amOnPage('/login')
// I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
// I.fillField({id: 'password'}, '123456ttt')
// I.fillField({id: 'email'}, 'qwe@qwe.qwe')
// I.fillField({id: 'password'}, '1qaz@WSX29')
// I.click({name:'login_btn'})
// I.wait(3)
// I.amOnPage('profile')
// }
//
// Feature('Профиль')
// Scenario('Модалка и ее скрытие о неподтверженном телефона, отправка зпроса с кнопки профиля', async ({I}) => {
// baseLogin(I)
......@@ -48,39 +51,6 @@
// I.click({id:'close_email_modal_btn'})
// I.dontSee('Письмо с ссылкой подтверждения отправлено на ваш email')
// });
//
// Scenario('Отправка запроса на подтверждение email c модалки', async ({I}) => {
// baseLogin(I)
// 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}) => {
// baseLogin(I)
// I.waitForText('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// I.amOnPage('/verify-email?token=wwTIss')
// I.waitForText('Данная ссылка более не действительна', 3)
// I.click({id: 'to_profile_btn'})
// I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// });
//
//
// Scenario('Обработка валидиного токена подтверждения email', async ({I}) => {
// baseLogin(I)
// I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// I.click({id: 'verify_email_btn_modal'})
// I.waitForText('Письмо с ссылкой подтверждения отправлено на ваш email', 3)
// I.amOnPage('/verify-email?token=0000')
// I.waitForText('Email успешно подтвержден')
// I.click({id: 'to_profile_btn'})
// I.wait(3)
// I.dontSee('Подтвердить email')
// });
//
//
// Scenario('Успешное обновление аватарки', async ({I}) => {
// baseLogin(I)
// I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/some_avatar.png')
......@@ -108,9 +78,9 @@
// baseLogin(I)
// I.click({id: 'edit_profile_btn'})
// I.click({id: 'change_password_btn'})
// I.fillField({id: 'old_password'}, '1234567890')
// I.fillField({id:'password'}, '123456ttt')
// I.fillField({id:'confirm_password'}, '123456ttt')
// I.fillField({id: 'old_password'}, '1qaz@WSX29')
// I.fillField({id:'password'}, '1qaz@WSX29')
// I.fillField({id:'confirm_password'}, '1qaz@WSX29')
// I.click({id: 'change_password_button'})
// I.waitForText('Введеный вами пароль не совпадает с ранее установленным')
// I.fillField({id: 'old_password'}, '123456ttt')
......@@ -131,7 +101,7 @@
// Scenario('Редактирование профиля без смены email и телефона', async ({I}) => {
// baseLogin(I)
// changeFullname(I, 'Vasiliy', 'Petrov')
// changeFullname(I, 'Zarina', 'Zarina')
// changeFullname(I, 'Some', 'User')
// });
//
//
......@@ -153,3 +123,36 @@
// I.waitForText('Данные аккаунта успешно изменены!')
// });
//
//
// Scenario('Отправка запроса на подтверждение email c модалки', async ({I}) => {
// baseLogin(I)
// 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}) => {
// baseLogin(I)
// I.waitForText('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// I.amOnPage('/verify-email?token=wwTIss')
// I.waitForText('Данная ссылка более не действительна', 3)
// I.click({id: 'to_profile_btn'})
// I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// });
//
//
// Scenario('Обработка валидиного токена подтверждения email', async ({I}) => {
// baseLogin(I)
// I.see('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// I.click({id: 'verify_email_btn_modal'})
// I.waitForText('Письмо с ссылкой подтверждения отправлено на ваш email', 3)
// I.amOnPage('/verify-email?token=0000')
// I.waitForText('Email успешно подтвержден')
// I.click({id: 'to_profile_btn'})
// I.wait(3)
// I.dontSee('Подтвердить email')
// });
const baseLogin = (I) => {
I.amOnPage('/login')
I.fillField({id: 'email'}, 'admin@admin.com')
I.fillField({id: 'password'}, '1qaz@WSX29')
I.click({name: 'login_btn'})
I.wait(3)
I.click('Напоминть мне позже')
I.click({id: 'notifications_icon'})
I.click('Подтвердить пользователя')
I.waitForText('Успешно подтвержден')
}
Feature('Пользователи');
// Scenario('Регистрация пользователя', async ({I}) => {
// I.amOnPage('register')
// I.fillField({id: 'email'}, 'qwertgfsd@gmail.com');
// I.fillField({id: 'phone_number'}, '12345678435');
// I.fillField({id: 'last_name'}, 'Familiya');
// I.fillField({id: 'first_name'}, 'Imya');
// I.fillField({id: 'password'}, '1qaz@WSX29');
// I.fillField({id: 'confirm_password'}, '1qaz@WSX29');
// I.click('Зарегистрироваться')
// I.waitForText('Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School')
// });
//
Scenario('Уведомление администрации о регистрации', async ({I}) => {
baseLogin(I)
});
\ 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