Commit a7c1a3aa authored by zarina's avatar zarina 🌊

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

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