This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
def test_bulk_entry_create_and_update(app):
|
||||
with TestClient(app) as client_a, TestClient(app) as client_b:
|
||||
register_a = client_a.post(
|
||||
"/auth/register",
|
||||
json={"email": "bulk-a@example.com", "password": "strongpasswordBulkA1"},
|
||||
)
|
||||
assert register_a.status_code == 200
|
||||
csrf_a = register_a.json()["csrf_token"]
|
||||
|
||||
register_b = client_b.post(
|
||||
"/auth/register",
|
||||
json={"email": "bulk-b@example.com", "password": "strongpasswordBulkB1"},
|
||||
)
|
||||
assert register_b.status_code == 200
|
||||
|
||||
create_range = client_a.post(
|
||||
"/bulk-entry",
|
||||
data={
|
||||
"from_date": "2026-03-02",
|
||||
"to_date": "2026-03-13",
|
||||
"weekdays_values": ["0", "1", "2", "3", "4"],
|
||||
"start_time": "08:00",
|
||||
"end_time": "12:00",
|
||||
"break_minutes": "0",
|
||||
"mode": "only_missing",
|
||||
"notes": "nachtrag",
|
||||
"csrf_token": csrf_a,
|
||||
},
|
||||
follow_redirects=False,
|
||||
)
|
||||
assert create_range.status_code == 303
|
||||
|
||||
list_a = client_a.get("/time-entries", params={"from": "2026-03-01", "to": "2026-03-31"})
|
||||
assert list_a.status_code == 200
|
||||
assert len(list_a.json()["items"]) == 10
|
||||
|
||||
update_range = client_a.post(
|
||||
"/bulk-entry",
|
||||
data={
|
||||
"from_date": "2026-03-02",
|
||||
"to_date": "2026-03-13",
|
||||
"weekdays_values": ["0", "1", "2", "3", "4"],
|
||||
"start_time": "08:30",
|
||||
"end_time": "13:30",
|
||||
"break_minutes": "30",
|
||||
"mode": "upsert",
|
||||
"notes": "korrigiert",
|
||||
"csrf_token": csrf_a,
|
||||
},
|
||||
follow_redirects=False,
|
||||
)
|
||||
assert update_range.status_code == 303
|
||||
|
||||
list_a_updated = client_a.get("/time-entries", params={"from": "2026-03-01", "to": "2026-03-31"})
|
||||
assert list_a_updated.status_code == 200
|
||||
items = list_a_updated.json()["items"]
|
||||
assert len(items) == 10
|
||||
assert items[0]["start_time"] == "08:30"
|
||||
assert items[0]["end_time"] == "13:30"
|
||||
assert items[0]["break_minutes"] == 30
|
||||
assert items[0]["notes"] == "korrigiert"
|
||||
|
||||
list_b = client_b.get("/time-entries", params={"from": "2026-03-01", "to": "2026-03-31"})
|
||||
assert list_b.status_code == 200
|
||||
assert list_b.json()["items"] == []
|
||||
Reference in New Issue
Block a user