Files
srab/autotest/cases/case_18_lessons_teacher_add.py
2025-11-26 21:32:41 +03:00

87 lines
2.6 KiB
Python

import json
TEST_NAME = "lessons:create"
def run(context) -> None:
path = f"/api/classes/{context.class_id}/lessons"
payload_primary = {
"дата": "2025-09-01",
"название": "Алгебра",
"домашнее задание": "Упражнения 1-3",
}
status, _, _ = context.send_request("POST", path, body=payload_primary)
context.expect(status == 401, f"expected 401, got {status}")
status, _, _ = context.send_request(
"POST",
f"/api/classes/{context.class_id + 999}/lessons",
body=payload_primary,
headers=context.make_auth(
context.teacher_username,
context.teacher_password,
),
)
context.expect(
status == 403,
f"expected 403 for foreign class, got {status}",
)
status, body, _ = context.send_request(
"POST",
path,
body=payload_primary,
headers=context.make_auth(
context.teacher_username,
context.teacher_password,
),
)
context.expect(status == 201, f"expected 201, got {status}, body={body!r}")
data = json.loads(body)
context.lesson_first_id = int(data[context.K_IDENTIFIER])
context.lesson_first_date = payload_primary["дата"]
context.lesson_first_title = payload_primary["название"]
context.expect(
int(data["идентификатор класса"]) == context.class_id,
"lesson class mismatch",
)
context.expect(
data["название"] == payload_primary["название"],
"lesson title mismatch",
)
context.expect(
data["дата"] == payload_primary["дата"],
"lesson date mismatch",
)
payload_secondary = {
"дата урока": "2025-09-02",
"тема": "Геометрия",
"домашка": "Читать параграф 4",
}
status, body, _ = context.send_request(
"POST",
path,
body=payload_secondary,
headers=context.make_auth(
context.teacher_username,
context.teacher_password,
),
)
context.expect(
status == 201,
f"expected 201 for second lesson, got {status}",
)
data = json.loads(body)
context.lesson_second_id = int(data[context.K_IDENTIFIER])
context.lesson_second_date = payload_secondary["дата урока"]
context.lesson_second_title = payload_secondary["тема"]
context.expect(
data["домашнее задание"] == payload_secondary["домашка"],
"secondary homework mismatch",
)