Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
tests
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zarina
tests
Commits
473fdad5
Commit
473fdad5
authored
Jul 17, 2021
by
zarina
🌊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ACP-35 написала тесты на подтверждение email/номера телефона
parent
dc09d0b4
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
158 additions
and
56 deletions
+158
-56
_test.js
_test.js
+0
-10
codecept.conf.js
codecept.conf.js
+2
-2
auth.feature
features/auth.feature
+44
-44
auth_test.js
tests/auth_test.js
+9
-0
profile_test.js
tests/profile_test.js
+103
-0
No files found.
_test.js
deleted
100644 → 0
View file @
dc09d0b4
Feature
(
'Авторизация/Регистрация'
);
Scenario
(
'Проверка токена'
,
async
({
I
})
=>
{
let
response
=
await
I
.
sendPostRequest
(
'account/reset-password/'
,
{
email
:
"rina.saif221@gmail.com"
});
I
.
amOnPage
(
'/reset-password?token='
+
response
.
data
.
token
)
I
.
fillField
({
id
:
'password'
},
'123456rrr'
);
I
.
fillField
({
id
:
'confirm_password'
},
'123456rrr'
);
I
.
click
({
name
:
'reset_password_btn'
})
I
.
waitForText
(
'Пароль успешно изменен'
)
});
codecept.conf.js
View file @
473fdad5
...
...
@@ -3,7 +3,7 @@ exports.config = {
helpers
:
{
Puppeteer
:
{
url
:
'http://localhost:4200/'
,
show
:
fals
e
,
show
:
tru
e
,
windowSize
:
'1200x900'
},
REST
:
{
...
...
@@ -37,7 +37,7 @@ exports.config = {
enabled
:
true
}
},
tests
:
'./*_test.js'
,
tests
:
'./
tests/
*_test.js'
,
name
:
'attractor-crm-tests'
,
translation
:
'ru-RU'
}
\ No newline at end of file
features/auth.feature
View file @
473fdad5
#language: ru
Функция
:
Авторизация/Аутентификация
Сценарий
:
Успешный логин и логаут
Допустим
я захожу на страницу 'login'
Если
я ввожу
"admin
@mail.ru"
в поле
"email"
И
я ввожу
"12345
"
в поле
"password"
И
я нажимаю на кнопку
"login_btn"
И
я жду 3 секунды
Затем
я захожу на страницу 'login'
И
я не вижу текст 'Вход'
Если
я нажимаю на кнопку 'logout'
И
я захожу на страницу 'login'
То
я вижу текст 'Вход'
Сценарий
:
Неправильный логин или пароль
Допустим
я захожу на страницу 'login'
Если
я ввожу
"admin@mail.ru"
в поле
"email"
И
я ввожу
"1"
в поле
"password"
Затем
я нажимаю на кнопку
"login_btn"
Тогда я вижу текст "Ошибка
:
Неверный
email
или
пароль"
Если
я нажимаю на кнопку
"login_btn"
И
я нажимаю на кнопку
"login_btn"
То я вижу текст "Ошибка
:
Вы
трижды
ввели
неправильный
email
или
пароль.
Повторите
попытку
через
30
минут"
Сценарий
:
Валдиация фронт
Допустим
я захожу на страницу 'login'
Если
я ввожу
"admin@q"
в поле
"email"
И
я ввожу
"1"
в поле
"password"
То
я вижу текст
"Ошибка валидации."
Сценарий
:
Восстановление пароля валидация
Допустим
я захожу на страницу '/reset-password'
Если
я ввожу
"some_user@qre.eee"
в поле
"email"
И
я нажимаю на кнопку
"reset_password_btn"
То я вижу текст "Ошибка
:
Email
не
найден"
Сценарий
:
Восстановление пароля, успешная отправка письма
Допустим
я захожу на страницу '/reset-password'
И
я ввожу
"rina.saif221@gmail.com"
в поле
"email"
И
я нажимаю на кнопку
"reset_password_btn"
Затем
я жду текст
"На указанный email отправлено письмо с подтверждением смены пароля"
Сценарий
:
Проверка токена, токен невалидный
Допустим
я захожу на страницу '/reset-password?token=123'
То я жду текст "Ошибка
:
Данный
токен
недействителен"
#
Сценарий: Успешный логин и логаут
#
Допустим я захожу на страницу 'login'
# Если я ввожу "rina.saif221
@mail.ru" в поле "email"
# И я ввожу "123456ttt
" в поле "password"
#
И я нажимаю на кнопку "login_btn"
#
И я жду 3 секунды
#
Затем я захожу на страницу 'login'
#
И я не вижу текст 'Вход'
#
Если я нажимаю на кнопку 'logout'
#
И я захожу на страницу 'login'
#
То я вижу текст 'Вход'
#
#
Сценарий: Неправильный логин или пароль
#
Допустим я захожу на страницу 'login'
#
Если я ввожу "admin@mail.ru" в поле "email"
#
И я ввожу "1" в поле "password"
#
Затем я нажимаю на кнопку "login_btn"
#
Тогда я вижу текст "Ошибка: Неверный email или пароль"
#
Если я нажимаю на кнопку "login_btn"
#
И я нажимаю на кнопку "login_btn"
#
То я вижу текст "Ошибка: Вы трижды ввели неправильный email или пароль. Повторите попытку через 30 минут"
#
#
Сценарий: Валдиация фронт
#
Допустим я захожу на страницу 'login'
#
Если я ввожу "admin@q" в поле "email"
#
И я ввожу "1" в поле "password"
#
То я вижу текст "Ошибка валидации."
#
#
Сценарий: Восстановление пароля валидация
#
Допустим я захожу на страницу '/reset-password'
#
Если я ввожу "some_user@qre.eee" в поле "email"
#
И я нажимаю на кнопку "reset_password_btn"
#
То я вижу текст "Ошибка: Email не найден"
#
#
Сценарий: Восстановление пароля, успешная отправка письма
#
Допустим я захожу на страницу '/reset-password'
#
И я ввожу "rina.saif221@gmail.com" в поле "email"
#
И я нажимаю на кнопку "reset_password_btn"
#
Затем я жду текст "На указанный email отправлено письмо с подтверждением смены пароля"
#
#
Сценарий: Проверка токена, токен невалидный
#
Допустим я захожу на страницу '/reset-password?token=123'
#
То я жду текст "Ошибка: Данный токен недействителен"
#
tests/auth_test.js
0 → 100644
View file @
473fdad5
// Feature('Авторизация/Аутентификация');
// Scenario('Успешная проверка токена', async ({I}) => {
// let response = await I.sendPostRequest('account/reset-password/', {email: "rina.saif221@gmail.com"});
// I.amOnPage('/reset-password?token=' + response.data.token)
// I.fillField({id: 'password'}, '123456rrr');
// I.fillField({id: 'confirm_password'}, '123456rrr');
// I.click({name: 'reset_password_btn'})
// I.waitForText('Пароль успешно изменен')
// });
tests/profile_test.js
0 → 100644
View file @
473fdad5
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('Редактирование профиля', async ({I}) => {
// I.amOnPage('/login')
// I.fillField({id: 'email'}, 'rina.saif221@gmail.com')
// I.fillField({id: 'password'}, '123456ttt')
// I.click({name:'login_btn'})
//
// });
//
//
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'
)
});
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment