{"uid":"7bcf983a8d5e127b","name":"Change ticket category and verify employee authorization","fullName":"Ticket GraphQL (category + employee): Change ticket category and verify employee authorization","historyId":"513dbba13eb631355480ef0f7e48bcb6","time":{"start":1778569941032,"stop":1778569943349,"duration":2317},"status":"failed","statusMessage":"AssertionError: assignee должен быть объектом (уполномочен), получено: None\n","statusTrace":" File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\model.py\", line 1991, in run\n match.run(runner.context)\n ~~~~~~~~~^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\matchers.py\", line 105, in run\n self.func(context, *args, **kwargs)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"Ticket\\features\\steps\\ticket_category_change_steps.py\", line 148, in step_assert_employee_authorized\n assert isinstance(assignee, dict), f\"assignee должен быть объектом (уполномочен), получено: {assignee!r}\"\n ~~~~~~~~~~^^^^^^^^^^^^^^^^\n","flaky":false,"newFailed":false,"newBroken":false,"newPassed":false,"retriesCount":0,"retriesStatusChange":false,"beforeStages":[],"testStage":{"status":"failed","statusMessage":"AssertionError: assignee должен быть объектом (уполномочен), получено: None\n","statusTrace":" File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\model.py\", line 1991, in run\n match.run(runner.context)\n ~~~~~~~~~^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\matchers.py\", line 105, in run\n self.func(context, *args, **kwargs)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"Ticket\\features\\steps\\ticket_category_change_steps.py\", line 148, in step_assert_employee_authorized\n assert isinstance(assignee, dict), f\"assignee должен быть объектом (уполномочен), получено: {assignee!r}\"\n ~~~~~~~~~~^^^^^^^^^^^^^^^^\n","steps":[{"name":"When get access token","time":{"start":1778569941035,"stop":1778569941194,"duration":159},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Then access token is valid","time":{"start":1778569941195,"stop":1778569941198,"duration":3},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"When prepare ticket and categories for category change test","time":{"start":1778569941198,"stop":1778569942293,"duration":1095},"status":"passed","steps":[{"name":"GraphQL: createPlaceMultiple","time":{"start":1778569941308,"stop":1778569941393,"duration":85},"status":"passed","steps":[],"attachments":[{"uid":"2fad1f08c6f195e2","name":"createPlaceMultiple response","source":"2fad1f08c6f195e2.json","type":"application/json","size":148}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createTicketCategory (cat-old)","time":{"start":1778569941393,"stop":1778569941467,"duration":74},"status":"passed","steps":[],"attachments":[{"uid":"322805f405d589ca","name":"createTicketCategory response","source":"322805f405d589ca.json","type":"application/json","size":233}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createTicket","time":{"start":1778569941467,"stop":1778569941587,"duration":120},"status":"passed","steps":[],"attachments":[{"uid":"15142004964f7002","name":"createTicket response","source":"15142004964f7002.json","type":"application/json","size":86}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createTicketCategory (cat-in-group-6a02d2d59e04d08097dedf3f)","time":{"start":1778569941589,"stop":1778569941742,"duration":153},"status":"passed","steps":[],"attachments":[{"uid":"8719a16e2470c4cf","name":"createTicketCategory response","source":"8719a16e2470c4cf.json","type":"application/json","size":263}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createTicketCategory (cat-out-group-6a02d2d59e04d08097dedf3f)","time":{"start":1778569941742,"stop":1778569941809,"duration":67},"status":"passed","steps":[],"attachments":[{"uid":"e9200c098b7e7a94","name":"createTicketCategory response","source":"e9200c098b7e7a94.json","type":"application/json","size":264}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createUser","time":{"start":1778569941811,"stop":1778569941906,"duration":95},"status":"passed","steps":[],"attachments":[{"uid":"f3038691b7f13c7","name":"createUser response","source":"f3038691b7f13c7.json","type":"application/json","size":445}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: addEmployee","time":{"start":1778569941906,"stop":1778569942067,"duration":161},"status":"passed","steps":[],"attachments":[{"uid":"ebb95a63a3734bb4","name":"Skipping employee.status check (API bug)","source":"ebb95a63a3734bb4.txt","type":"text/plain","size":248},{"uid":"f6d05ed047df55dc","name":"addEmployee response","source":"f6d05ed047df55dc.json","type":"application/json","size":85}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":2,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createCategoryGroup","time":{"start":1778569942070,"stop":1778569942202,"duration":132},"status":"passed","steps":[],"attachments":[{"uid":"f6980840f498407f","name":"createCategoryGroup response","source":"f6980840f498407f.json","type":"application/json","size":93}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createCategoryGroup","time":{"start":1778569942202,"stop":1778569942293,"duration":91},"status":"passed","steps":[],"attachments":[{"uid":"7b8765e4f7964beb","name":"createCategoryGroup response","source":"7b8765e4f7964beb.json","type":"application/json","size":93}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true}],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":10,"attachmentStep":false,"stepsCount":9,"hasContent":true},{"name":"And change ticket category to in_group category","time":{"start":1778569942307,"stop":1778569942401,"duration":94},"status":"passed","steps":[{"name":"GraphQL: changeTicketCategory (to in_group)","time":{"start":1778569942312,"stop":1778569942401,"duration":89},"status":"passed","steps":[],"attachments":[{"uid":"3fd7a7237ccaeba4","name":"changeTicketCategory response","source":"3fd7a7237ccaeba4.json","type":"application/json","size":52}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true}],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":1,"hasContent":true},{"name":"And query tickets by created place id","time":{"start":1778569942402,"stop":1778569942492,"duration":90},"status":"passed","steps":[{"name":"GraphQL: ticket(filter: place_id)","time":{"start":1778569942405,"stop":1778569942492,"duration":87},"status":"passed","steps":[],"attachments":[{"uid":"f47a7f2650efdd80","name":"ticket response","source":"f47a7f2650efdd80.json","type":"application/json","size":328}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true}],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":1,"hasContent":true},{"name":"Then ticket category changed from old to in_group","time":{"start":1778569942493,"stop":1778569942494,"duration":1},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"And employee is authorized for ticket","time":{"start":1778569942495,"stop":1778569942499,"duration":4},"status":"failed","statusMessage":"AssertionError: assignee должен быть объектом (уполномочен), получено: None\n","statusTrace":" File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\model.py\", line 1991, in run\n match.run(runner.context)\n ~~~~~~~~~^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\matchers.py\", line 105, in run\n self.func(context, *args, **kwargs)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"Ticket\\features\\steps\\ticket_category_change_steps.py\", line 148, in step_assert_employee_authorized\n assert isinstance(assignee, dict), f\"assignee должен быть объектом (уполномочен), получено: {assignee!r}\"\n ~~~~~~~~~~^^^^^^^^^^^^^^^^\n","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":true,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"Cleanup: _restore_category","time":{"start":1778569942500,"stop":1778569942570,"duration":70},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_group","time":{"start":1778569942570,"stop":1778569942635,"duration":65},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_group","time":{"start":1778569942635,"stop":1778569942702,"duration":67},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_user","time":{"start":1778569942702,"stop":1778569942859,"duration":157},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_category","time":{"start":1778569942859,"stop":1778569942947,"duration":88},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_category","time":{"start":1778569942947,"stop":1778569943045,"duration":98},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_ticket","time":{"start":1778569943045,"stop":1778569943113,"duration":68},"status":"failed","statusMessage":"AssertionError: Forbidden на операции: deleteTicket(mutation)\n","statusTrace":" File \"Ticket\\features\\environment.py\", line 34, in after_scenario\n fn()\n ~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Ticket\\testdata\\ticket_test_data.py\", line 242, in _cleanup_delete_ticket\n _exec_or_fail(op_name=\"deleteTicket(mutation)\", token=token, query=delete_mutation, variables={\"id\": ticket_id}, company_id=self.company_id)\n ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Ticket\\testdata\\ticket_test_data.py\", line 35, in _exec_or_fail\n raise AssertionError(f\"Forbidden на операции: {op_name}\") from e\n","steps":[],"attachments":[{"uid":"727df18fc295ea71","name":"Forbidden: deleteTicket(mutation)","source":"727df18fc295ea71.txt","type":"text/plain","size":164}],"parameters":[],"shouldDisplayMessage":true,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"Cleanup: _cleanup_delete_category","time":{"start":1778569943136,"stop":1778569943210,"duration":74},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_place","time":{"start":1778569943210,"stop":1778569943345,"duration":135},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"When change ticket category to out_group category","time":{"start":1778569943349,"stop":1778569943349,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"And query tickets by created place id","time":{"start":1778569943349,"stop":1778569943349,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Then employee is NOT authorized for ticket","time":{"start":1778569943349,"stop":1778569943349,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false}],"attachments":[{"uid":"28fe7edc43a74a14","name":"Cleanup error","source":"28fe7edc43a74a14.txt","type":"text/plain","size":1477}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":14,"attachmentStep":false,"stepsCount":30,"hasContent":true},"afterStages":[],"labels":[{"name":"severity","value":"normal"},{"name":"feature","value":"Ticket GraphQL (category + employee)"},{"name":"framework","value":"behave"},{"name":"language","value":"cpython3"},{"name":"resultFormat","value":"allure2"}],"parameters":[],"links":[],"hidden":true,"retry":true,"extra":{"categories":[],"tags":[]},"source":"7bcf983a8d5e127b.json","parameterValues":[]}