Commit 9eedc316 authored by zarina's avatar zarina 🌊

ACP-45 написала тесты на добавление курса

parent 2b4b2a07
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('Курс успешно создан!')
I.dontSee('Создание курса')
I.see(someTitle)
});
\ 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'})
}
Feature('Профиль')
Scenario('Модалка и ее скрытие о неподтверженном телефона, отправка зпроса с кнопки профиля', async ({I}) => {
baseLogin(I)
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}) => {
baseLogin(I)
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}) => {
baseLogin(I)
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}) => {
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('Ссылка подтверждения некорректна')
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')
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')
let first_src = await I.grabAttributeFrom({id: 'avatar'}, 'src')
I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/some_avatar_2.png')
let second_src = await I.grabAttributeFrom({id: 'avatar'}, 'src')
if (second_src === first_src) {
throw new Error()
}
});
Scenario('Обновление аватарки, валидация неправильный формат', async ({I}) => {
baseLogin(I)
I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/fail_avatar.txt')
I.waitForText('Загрузите правильное изображение. Файл, который вы загрузили, поврежден или не является изображением.')
});
Scenario('Обновление аватарки, валидация пустой файл', async ({I}) => {
baseLogin(I)
I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/fail_empty_avatar.txt')
I.waitForText('Отправленный файл пуст.')
});
let changeFullname = (I, name, surname) => {
I.click({id: 'edit_profile_btn'})
I.fillField({id: 'first_name'}, name)
I.fillField({id: 'last_name'}, surname)
I.click({id: 'submit_edit_profile_btn'})
I.waitForText('Данные аккаунта успешно изменены!')
I.click({id: 'back_to_profile_btn'})
I.waitForText(`${name} ${surname}`)
}
Scenario('Редактирование профиля без смены email и телефона', async ({I}) => {
baseLogin(I)
changeFullname(I, 'Vasiliy', 'Petrov')
changeFullname(I, 'Zarina', 'Zarina')
});
Scenario('Редактирование профиля со сменой email и телефона', async ({I}) => {
baseLogin(I)
I.click({id: 'edit_profile_btn'})
I.fillField({id: 'phone_number'}, Math.random().toString().substring(5))
I.fillField({id: 'email'}, 'test_email@gmail.com')
I.click({id: 'submit_edit_profile_btn'})
I.waitForText('Данные аккаунта успешно изменены!')
I.click({id: 'back_to_profile_btn'})
I.waitForText(`Подтвердите свой номер телефона, иначе вы не сможете получать важные уведомления от Attractor School`)
I.waitForText(`Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School`)
I.click({id:'hide_phone_modal_btn'})
I.click({id:'hide_email_modal_btn'})
I.click({id: 'edit_profile_btn'})
I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
I.click({id: 'submit_edit_profile_btn'})
I.waitForText('Данные аккаунта успешно изменены!')
});
Scenario('Редактирование профиля со сменой email и телефона', async ({I}) => {
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.waitForText('Введеный вами пароль не совпадает с ранее установленным')
I.fillField({id: 'old_password'}, '123456ttt')
I.waitForText('Пароль успешно изменен!')
});
// const baseLogin = (I) => {
// I.amOnPage('/login')
// I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
// I.fillField({id: 'password'}, '123456ttt')
// I.click({name:'login_btn'})
// }
// Feature('Профиль')
// Scenario('Модалка и ее скрытие о неподтверженном телефона, отправка зпроса с кнопки профиля', async ({I}) => {
// baseLogin(I)
// 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}) => {
// baseLogin(I)
// 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}) => {
// baseLogin(I)
// 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}) => {
// 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')
// let first_src = await I.grabAttributeFrom({id: 'avatar'}, 'src')
// I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/some_avatar_2.png')
// let second_src = await I.grabAttributeFrom({id: 'avatar'}, 'src')
// if (second_src === first_src) {
// throw new Error()
// }
// });
//
// Scenario('Обновление аватарки, валидация неправильный формат', async ({I}) => {
// baseLogin(I)
// I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/fail_avatar.txt')
// I.waitForText('Загрузите правильное изображение. Файл, который вы загрузили, поврежден или не является изображением.')
// });
//
// Scenario('Обновление аватарки, валидация пустой файл', async ({I}) => {
// baseLogin(I)
// I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/fail_empty_avatar.txt')
// I.waitForText('Отправленный файл пуст.')
// });
//
// Scenario('Редактирование пароля', async ({I}) => {
// 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.click({id: 'change_password_button'})
// I.waitForText('Введеный вами пароль не совпадает с ранее установленным')
// I.fillField({id: 'old_password'}, '123456ttt')
// I.click({id: 'change_password_button'})
// I.waitForText('Пароль успешно изменен!')
// });
//
// let changeFullname = (I, name, surname) => {
// I.click({id: 'edit_profile_btn'})
// I.fillField({id: 'first_name'}, name)
// I.fillField({id: 'last_name'}, surname)
// I.click({id: 'submit_edit_profile_btn'})
// I.waitForText('Данные аккаунта успешно изменены!')
// I.click({id: 'back_to_profile_btn'})
// I.waitForText(`${name} ${surname}`)
// }
//
// Scenario('Редактирование профиля без смены email и телефона', async ({I}) => {
// baseLogin(I)
// changeFullname(I, 'Vasiliy', 'Petrov')
// changeFullname(I, 'Zarina', 'Zarina')
// });
//
//
// Scenario('Редактирование профиля со сменой email и телефона', async ({I}) => {
// baseLogin(I)
// I.click({id: 'edit_profile_btn'})
// I.fillField({id: 'phone_number'}, Math.random().toString().substring(5))
// I.fillField({id: 'email'}, 'test_email@gmail.com')
// I.click({id: 'submit_edit_profile_btn'})
// I.waitForText('Данные аккаунта успешно изменены!')
// I.click({id: 'back_to_profile_btn'})
// I.waitForText(`Подтвердите свой номер телефона, иначе вы не сможете получать важные уведомления от Attractor School`)
// I.waitForText(`Подтвердите свой email, иначе вы не сможете получать важные уведомления от Attractor School`)
// I.click({id:'hide_phone_modal_btn'})
// I.click({id:'hide_email_modal_btn'})
// I.click({id: 'edit_profile_btn'})
// I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
// I.click({id: 'submit_edit_profile_btn'})
// I.waitForText('Данные аккаунта успешно изменены!')
// });
//
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