Commit 2b4b2a07 authored by zarina's avatar zarina 🌊

ACP-35 Написала тесты на обновление пароля

parent 76a3d1c2
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}) => {
// 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('Обработка валидиного токена подтверждения 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')
// });
//
// 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.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}) => {
// I.amOnPage('/login')
// I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
// I.fillField({id: 'password'}, '123456ttt')
// I.click({name: 'login_btn'})
// I.attachFile({id: 'avatar_update_input'}, 'files_for_tests/fail_avatar.txt')
// I.waitForText('Загрузите правильное изображение. Файл, который вы загрузили, поврежден или не является изображением.')
// });
//
// 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.attachFile({id: 'avatar_update_input'}, 'files_for_tests/fail_empty_avatar.txt')
// I.waitForText('Отправленный файл пуст.')
// });
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('Пароль успешно изменен!')
});
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