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