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

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

parent 744a36a7
......@@ -44,6 +44,7 @@ const AdminMenu = () => {
to="/month"
color="inherit"
size="large"
id='test_month_header'
>
Месяц
</Button>
......
......@@ -44,6 +44,7 @@ const WorkerMenu = () => {
to="/month"
color="inherit"
size="large"
id='test_month_header'
>
Месяц
</Button>
......
......@@ -34,14 +34,15 @@ const EmptyBox = ({hourNumber, handleOpen, dayNumber, xs, dragTaskHandler, modal
onDragOver={(e)=>{dragOverHandler(e)}}
onDrop={(e)=>{dropHandler(e)}}
onClick={(e)=>{onClickHandler(e, dayNumber, hourNumber)}}
className='test_empty_box'
item xs={xs} sx={{
height: '35px',
height: '40px',
backgroundColor: 'rgb(0,0,0,0)',
zIndex: '6',
cursor: copyTask ? 'pointer' : 'default'
}}>
{isThisCell ?
<DefaultTask/> : null}
<DefaultTask/> : ' '}
</Grid>)
};
......
......@@ -14,6 +14,7 @@ function MonthAndYearInfo({currentMonthString, year, incrementMonth, decrementMo
alignItems: 'center',
gap: '10px'
}}
id='test_month_info'
>
<ArrowDecrementButton
onClick={decrementMonth}
......
......@@ -56,7 +56,7 @@ function MonthCalendarModalContent({title, onChangeCurrentTaskHandler, descripti
/>
</div>
<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>
</div>
</>);
......
......@@ -56,6 +56,7 @@ export default function ModalTask({modal, handleClose, children}) {
return (
<>
<Modal
id='test_modal_task'
open={modal.open}
onClose={handleClose}
aria-labelledby="modal-modal-title"
......
......@@ -17,7 +17,7 @@ exports.config = {
hooks: [],
gherkin: {
features: './features/*.feature',
steps: ['./step_definitions/steps.js']
steps: ['./step_definitions/steps.js', './step_definitions/create_edit_delete_task_steps.js']
},
plugins: {
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 @@
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"Error: no test specified\" && exit 1",
"start": "npx codeceptjs run --steps"
},
"author": "",
"license": "ISC",
......
const { I } = inject();
Given('я нахожусь на странице {string}', (page) => {
Given("я нахожусь на странице {string}", (page) => {
I.login('a@a.a0', '123')
I.amOnPage(page)
});
When('я ввожу в поле {string} текст {string}', (fieldName, value) => {
I.fillField(fieldName, value)
Then('я нажимаю на кнопку {string}', (buttonId) => {
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) => {
I.click(buttonId)
});
Then('я вижу элемент {string}', (text) => {
I.waitForElement(text, 5)
});
Then('я вижу элемент с текстом {string}', (text) => {
I.see(text)
});
\ No newline at end of file
const { I } = inject();
// Add in your custom step files
......@@ -2,7 +2,13 @@
module.exports = function() {
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.
// 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