Commit 72e3d549 authored by Ermolaev Timur's avatar Ermolaev Timur

#86 создал шаги теста на создание задачи

parent 744a36a7
...@@ -44,6 +44,7 @@ const AdminMenu = () => { ...@@ -44,6 +44,7 @@ const AdminMenu = () => {
to="/month" to="/month"
color="inherit" color="inherit"
size="large" size="large"
id='test_month_header'
> >
Месяц Месяц
</Button> </Button>
......
...@@ -44,6 +44,7 @@ const WorkerMenu = () => { ...@@ -44,6 +44,7 @@ const WorkerMenu = () => {
to="/month" to="/month"
color="inherit" color="inherit"
size="large" size="large"
id='test_month_header'
> >
Месяц Месяц
</Button> </Button>
......
...@@ -34,14 +34,15 @@ const EmptyBox = ({hourNumber, handleOpen, dayNumber, xs, dragTaskHandler, modal ...@@ -34,14 +34,15 @@ const EmptyBox = ({hourNumber, handleOpen, dayNumber, xs, dragTaskHandler, modal
onDragOver={(e)=>{dragOverHandler(e)}} onDragOver={(e)=>{dragOverHandler(e)}}
onDrop={(e)=>{dropHandler(e)}} onDrop={(e)=>{dropHandler(e)}}
onClick={(e)=>{onClickHandler(e, dayNumber, hourNumber)}} onClick={(e)=>{onClickHandler(e, dayNumber, hourNumber)}}
className='test_empty_box'
item xs={xs} sx={{ item xs={xs} sx={{
height: '35px', height: '40px',
backgroundColor: 'rgb(0,0,0,0)', backgroundColor: 'rgb(0,0,0,0)',
zIndex: '6', zIndex: '6',
cursor: copyTask ? 'pointer' : 'default' cursor: copyTask ? 'pointer' : 'default'
}}> }}>
{isThisCell ? {isThisCell ?
<DefaultTask/> : null} <DefaultTask/> : ' '}
</Grid>) </Grid>)
}; };
......
...@@ -14,6 +14,7 @@ function MonthAndYearInfo({currentMonthString, year, incrementMonth, decrementMo ...@@ -14,6 +14,7 @@ function MonthAndYearInfo({currentMonthString, year, incrementMonth, decrementMo
alignItems: 'center', alignItems: 'center',
gap: '10px' gap: '10px'
}} }}
id='test_month_info'
> >
<ArrowDecrementButton <ArrowDecrementButton
onClick={decrementMonth} onClick={decrementMonth}
......
...@@ -56,7 +56,7 @@ function MonthCalendarModalContent({title, onChangeCurrentTaskHandler, descripti ...@@ -56,7 +56,7 @@ function MonthCalendarModalContent({title, onChangeCurrentTaskHandler, descripti
/> />
</div> </div>
<div style={{display: 'flex', gap: '20px', margin: '10px 0'}}> <div style={{display: 'flex', gap: '20px', margin: '10px 0'}}>
<Button onClick={sendNewTaskHandler}>Сохранить</Button> <Button id='test_button_save_task'onClick={sendNewTaskHandler}>Сохранить</Button>
<Button onClick={deleteTaskHandler}>Удалить</Button> <Button onClick={deleteTaskHandler}>Удалить</Button>
</div> </div>
</>); </>);
......
...@@ -56,6 +56,7 @@ export default function ModalTask({modal, handleClose, children}) { ...@@ -56,6 +56,7 @@ export default function ModalTask({modal, handleClose, children}) {
return ( return (
<> <>
<Modal <Modal
id='test_modal_task'
open={modal.open} open={modal.open}
onClose={handleClose} onClose={handleClose}
aria-labelledby="modal-modal-title" aria-labelledby="modal-modal-title"
......
...@@ -17,7 +17,7 @@ exports.config = { ...@@ -17,7 +17,7 @@ exports.config = {
hooks: [], hooks: [],
gherkin: { gherkin: {
features: './features/*.feature', features: './features/*.feature',
steps: ['./step_definitions/steps.js'] steps: ['./step_definitions/steps.js', './step_definitions/create_edit_delete_task_steps.js']
}, },
plugins: { plugins: {
screenshotOnFail: { screenshotOnFail: {
......
#language: ru
Функция: Создание, редактирование, удаление задачи
Сценарий: Успешное создание задачи
Допустим я нахожусь на странице "/"
То я нажимаю на кнопку '#test_month_header'
И я вижу элемент "#test_month_info"
Если я нажимаю на элемент ".test_empty_box"
И я вижу элемент "#test_modal_task"
Если я ввожу в поле "title" текст "test tasklasdlasdl"
И я нажимаю на кнопку '#test_button_save_task'
Тогда я вижу элемент с текстом "Задачаtest tasklasdlasdl"
# И я ввожу в поле "password" текст "123"
# И я нажимаю на кнопку "#test_login"
# То я вижу элемент "#test_greetings"
\ No newline at end of file
#language: ru
Функция: Авторизация пользователя
Сценарий: Успешная авторизация
Допустим я нахожусь на странице "/sign-in"
Если я ввожу в поле "email" текст "a@a.a0"
И я ввожу в поле "password" текст "123"
И я нажимаю на кнопку "#test_login"
То я вижу элемент "#test_greetings"
\ No newline at end of file
Цель('login');
Сценарий('test something', ({ Я }) => {
});
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1",
"start": "npx codeceptjs run --steps"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",
......
const { I } = inject(); const { I } = inject();
Given('я нахожусь на странице {string}', (page) => { Given("я нахожусь на странице {string}", (page) => {
I.login('a@a.a0', '123')
I.amOnPage(page) I.amOnPage(page)
}); });
When('я ввожу в поле {string} текст {string}', (fieldName, value) => { Then('я нажимаю на кнопку {string}', (buttonId) => {
I.fillField(fieldName, value) I.click(buttonId)
});
When('я вижу элемент {string}', (infoString) => {
I.waitForElement(infoString, 5)
});
When('я нажимаю на элемент {string}', (className) => {
I.click(className)
});
When('я ввожу в поле {string} текст {string}', (field, title) => {
I.fillField(field, title)
}); });
When('я нажимаю на кнопку {string}', (buttonId) => { When('я нажимаю на кнопку {string}', (buttonId) => {
I.click(buttonId) I.click(buttonId)
}); });
Then('я вижу элемент {string}', (text) => { Then('я вижу элемент с текстом {string}', (text) => {
I.waitForElement(text, 5) I.see(text)
}); });
\ No newline at end of file
const { I } = inject();
// Add in your custom step files
...@@ -2,7 +2,13 @@ ...@@ -2,7 +2,13 @@
module.exports = function() { module.exports = function() {
return actor({ return actor({
login: function(email, password) {
this.amOnPage('/sign-in')
this.fillField('email', email)
this.fillField('password', password)
this.click('#test_login')
this.waitForElement('#test_greetings', 5)
}
// Define custom steps here, use 'this' to access default methods of I. // Define custom steps here, use 'this' to access default methods of I.
// It is recommended to place a general 'login' function here. // It is recommended to place a general 'login' function here.
......
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