initial
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
# Create object with timetable
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object
|
||||
{
|
||||
"name": "TestObject1",
|
||||
"timetable": {
|
||||
"block_len": 30,
|
||||
"block_capacity": 1
|
||||
}
|
||||
}
|
||||
HTTP 200
|
||||
[Captures]
|
||||
object_id: jsonpath "$[0]"
|
||||
|
||||
|
||||
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/available
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"first_date": "2025-08-31",
|
||||
"start": "8:00",
|
||||
"end": "16:00",
|
||||
"is_repeating": false,
|
||||
"requires_confirmation": false
|
||||
}
|
||||
HTTP 200
|
||||
[Asserts]
|
||||
jsonpath "$" count == 1
|
||||
|
||||
|
||||
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/available
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"first_date": "2025-08-31",
|
||||
"start": "8:00",
|
||||
"end": "16:00",
|
||||
"is_repeating": true,
|
||||
"repeat_period": 7,
|
||||
"repeat_times": 0,
|
||||
"monday": true,
|
||||
"tuesday": false,
|
||||
"wednesday": true,
|
||||
"thursday": false,
|
||||
"friday": true,
|
||||
"saturday": false,
|
||||
"sunday": true,
|
||||
"requires_confirmation": false
|
||||
}
|
||||
HTTP 200
|
||||
[Asserts]
|
||||
jsonpath "$" count == 4
|
||||
jsonpath "$[0].first_date" == "2025-08-31"
|
||||
jsonpath "$[1].first_date" == "2025-08-31"
|
||||
jsonpath "$[2].first_date" == "2025-08-31"
|
||||
jsonpath "$[3].first_date" == "2025-08-31"
|
||||
|
||||
|
||||
GET http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/available?date=2025-08-31
|
||||
HTTP 200
|
||||
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"date": "2025-8-31",
|
||||
"email": "test@test",
|
||||
"full_name": "Test Test",
|
||||
"phone": "123 456 789",
|
||||
"reservations": [
|
||||
{
|
||||
"start_block_idx": 16,
|
||||
"num_blocks": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
HTTP 200
|
||||
|
||||
GET http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
HTTP 200
|
||||
[Captures]
|
||||
count: jsonpath "$" count
|
||||
|
||||
# Overlapping
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"date": "2025-8-31",
|
||||
"email": "test@test",
|
||||
"full_name": "Test Test",
|
||||
"phone": "123 456 789",
|
||||
"reservations": [
|
||||
{
|
||||
"start_block_idx": 16,
|
||||
"num_blocks": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
HTTP 400
|
||||
|
||||
GET http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
HTTP 200
|
||||
[Asserts]
|
||||
jsonpath "$" count == {{count}}
|
||||
|
||||
# Cannot create outside available time
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"date": "2025-8-31",
|
||||
"email": "test@test",
|
||||
"full_name": "Test Test",
|
||||
"phone": "123 456 789",
|
||||
"reservations": [
|
||||
{
|
||||
"start_block_idx": 34,
|
||||
"num_blocks": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
HTTP 400
|
||||
|
||||
# Not even end outside available time
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"date": "2025-8-31",
|
||||
"email": "test@test",
|
||||
"full_name": "Test Test",
|
||||
"phone": "123 456 789",
|
||||
"reservations": [
|
||||
{
|
||||
"start_block_idx": 30,
|
||||
"num_blocks": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
HTTP 400
|
||||
|
||||
|
||||
GET http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
HTTP 200
|
||||
[Asserts]
|
||||
jsonpath "$" count == {{count}}
|
||||
|
||||
|
||||
# When one fails, none is inserted
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"date": "2025-8-31",
|
||||
"email": "test@test",
|
||||
"full_name": "Test Test",
|
||||
"phone": "123 456 789",
|
||||
"reservations": [
|
||||
{
|
||||
"start_block_idx": 20,
|
||||
"num_blocks": 1
|
||||
}, {
|
||||
"from": 36,
|
||||
"num_blocks": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
HTTP 400
|
||||
|
||||
|
||||
GET http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
HTTP 200
|
||||
[Asserts]
|
||||
jsonpath "$" count == {{count}}
|
||||
|
||||
POST http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}/timetable/reservation
|
||||
{
|
||||
"timetable_id": {{object_id}},
|
||||
"date": "2025-8-31",
|
||||
"email": "test@test",
|
||||
"full_name": "Test Test",
|
||||
"phone": "123 456 789",
|
||||
"reservations": [
|
||||
{
|
||||
"start_block_idx": 31,
|
||||
"num_blocks": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
HTTP 200
|
||||
|
||||
DELETE http://localhost/wordpress/wp-json/reservations/v1/object/{{object_id}}
|
||||
HTTP 200
|
||||
Reference in New Issue
Block a user