Toppings should exclude raspberries when feature flag is disabled
280ms
Order exceeding maximum items per order should be rejected
241ms
Topping request with invalid or dangerous input should return bad request [field: "Name", value: "<script>alert('xss')</script>", reason: "Script tag in name", expectedError: "Name contains potentially dangerous content.", expectedStatus: "Bad Request"]
189ms
Pancake request with invalid ingredient should return bad request [field: "Flour", value: "", reason: "Flour is required", expectedError: "'Flour' is required.", expectedStatus: "Bad Request"]
186ms
Creating an order should emit a structured log entry
176ms
Toppings should include raspberries when feature flag is enabled
176ms
The Scalar UI endpoint should return a valid page
171ms
Health check should report degraded when downstream service returns non success status
169ms
Health check should report degraded when cow service is unavailable
155ms
Goat milk endpoint should return fresh goat milk when feature is enabled
152ms
Exceeding rate limit should return too many requests
149ms
Order at maximum items per order should be accepted
135ms
Goat milk endpoint should return not found when feature is disabled
115ms
Requesting milk when cow service unavailable should return bad gateway
112ms
Health check should report degraded when multiple downstream services are unavailable
107ms
Creating an order should produce an audit log entry and events
90ms
Consuming customer feedback event should trigger downstream processing
77ms
Streaming updates for non existent order should return not found
76ms
Menu endpoint should return all menu items with availability
74ms
Pancake recipe summary should return correct data
70ms
Consuming an order served event should trigger downstream processing
68ms
Muffin request with invalid field should return bad request [field: "Milk", value: "", reason: "Milk is required", expectedError: "'Milk' is required.", expectedStatus: "Bad Request"]
61ms
Getting usage summary should return aggregated data
56ms
Batch completions should contain data ingested via pubsub consumer
51ms
Retrieving an existing note by id should return the note
49ms
Consuming recipe cost event should trigger downstream processing
49ms
Filtering audit logs by a non existent entity type should return an empty collection
41ms
Recording ingredient waste should return the created record
41ms
Retrieving existing review by id should return the review
41ms
Updating a non existent topping should return not found
39ms
Order should progress through all status transitions to completion
38ms
Valid apple cinnamon muffin request should return a fresh batch
38ms
Valid status transition should update the order [fromStatus: "Created", toStatus: "Preparing"]
38ms
Recipe reports should contain ingested recipe data
35ms
Creating an order should produce a retrievable audit log entry
34ms
Creating a reservation should return the confirmed reservation
34ms
Listing orders when none exist should return an empty page
34ms
Order summaries should contain ingested order data
34ms
Creating an order when kitchen service returns error should still create the order
34ms
Previously created order should be retrievable by id
33ms
Popular recipes should return recipe types ordered by frequency
31ms
Remaining quantity should decrease after each order
31ms
Valid waffle request with all ingredients should return a fresh batch
31ms
Listing usage by ingredient should return matching records
30ms
Equipment alerts should contain data ingested via event hub consumer
30ms
Valid pancake request with all ingredients should return a fresh batch
30ms
Retrieving existing feedback by id should return the feedback
28ms
Order status via grpc should return order details
27ms
Getting the timing summary should return aggregated data
27ms
Audit logs should be returned in descending timestamp order
25ms
Retrieving an existing inventory item should return the item
24ms
Listing feedback for an order should return the feedback
24ms
Valid daily special order should return a confirmation
24ms
Listing notes by recipe should return matching notes
24ms
Ingredient shipments should be recorded when delivered via eventgrid webhook
24ms
Updating an existing note should return the updated note
23ms
Ingredient usage should aggregate across multiple recipes
23ms
The AsyncApi endpoint should return a valid specification
23ms
Adding a new staff member should return the created member
23ms
Retrieving an existing reservation should return the reservation
22ms
Deleting a waste record should return no content
21ms
Retrieving an existing staff member should return the member
21ms
Listing orders with small page size should limit results
21ms
The OpenApi endpoint should return a valid specification
21ms
Saving customer preferences should return the saved preferences
20ms
Listing readings by equipment should return matching records
19ms
Listing reviews by recipe should return matching reviews
18ms
Toppings endpoint should return all available toppings
18ms
Listing timings by station should return matching records
18ms
Listing orders should return a paginated response
18ms
Adding a new topping should return the created topping
17ms
Cancelling a reservation should return the cancelled reservation
16ms
Update topping with invalid or dangerous input should return bad request [field: "Category", value: "", reason: "Category is required", expectedError: "'Category' is required.", expectedStatus: "Bad Request"]
16ms
Updating status of non existent order should return not found
16ms
Listing waste by recipe should return matching records
16ms
Order with invalid field should return bad request [field: "Items[0].ItemType", value: "", reason: "Item type is required", expectedError: "'Item Type' is required.", expectedStatus: "Bad Request"]
15ms
Adding a new inventory item should return the created item
14ms
Retrieving existing customer preferences should return the preferences
14ms
Different muffin recipes should produce the expected batch [recipeName: "Classic", recipe: MuffinRecipeTestData { Ingredients = IngredientSet { Flour = Plain Flour, Apples = Granny Smith, Cinnamon = Ceylon }, Toppings = System.Collections.Generic.List`1[Breakf…]
14ms
Recording an order timing should return the created record
14ms
Streaming order updates should return the current status
14ms
Invalid status transition should return conflict [fromStatus: "Cancelled", toStatus: "Ready"]
14ms
Outbox message should transition to failed after exhausting retries
14ms
Request with correlation id should forward it to supplier service
13ms
Daily special order with invalid field should return bad request [field: "SpecialId", value: null, reason: "Special ID is required", expectedError: "'Special Id' is required.", expectedStatus: "Bad Request"]
13ms
Audit logs should be filterable by entity type
12ms
Recording a timing with missing station should return bad request
12ms
Adding a staff member with an invalid role should return a bad request response
12ms
Order status update with invalid field should return bad request [field: "Status", value: "", reason: "Status is required", expectedError: "'Status' is required.", expectedStatus: "Bad Request"]
12ms
Same order with different idempotency keys should return different confirmations
12ms
Submitting feedback with invalid rating should return bad request
12ms
Creating an order should write an outbox message that gets processed
12ms
Requesting goat milk when goat service unavailable should return bad gateway
12ms
Submitting review with missing recipe name should return bad request
12ms
Listing all inventory items should return all items
11ms
Submitting feedback should return the created feedback
11ms
Health check response should include description and data for each entry
11ms
Recording a reading with zero value should return bad request
11ms
Requesting second page should return different orders
10ms
Updating an inventory item should return the updated item
10ms
Deleting a reading should remove it from the list
10ms
Deleting an existing topping should return no content
10ms
Same order with same idempotency key should return same confirmation
9ms
Updating an existing topping should return the updated topping
9ms
Ordering daily special beyond threshold should return conflict
9ms
Updating customer preferences should return the updated preferences
9ms
Menu should return cached results on subsequent requests
9ms
Deleting a staff member should return no content
9ms
Ordering non existent daily special should return not found
8ms
Heartbeat endpoint should return a running message
8ms
Waffle request with more toppings than allowed should return bad request
8ms
Waffle request with invalid ingredient should return bad request [field: "Milk", value: "", reason: "Milk is required", expectedError: "'Milk' is required.", expectedStatus: "Bad Request"]
8ms
Creating a chef note should return the created note
8ms
Request with correlation id should return same id in response
8ms
Deleting a non existent topping should return not found
8ms
Recording ingredient usage should return the created record
7ms
Creating a note with missing recipe name should return bad request
7ms
Submitting a recipe review should return the created review
6ms
Health check endpoint should return healthy status with all dependency details
6ms
Creating a note with missing note text should return bad request
6ms
Audit logs should be filterable by entity id
6ms
Request without correlation id should have one generated in response
6ms
Order status for non existent order should return not found
6ms
Pancake request with more toppings than allowed should return bad request
6ms
Recording a reading with missing metric should return bad request
6ms
Requesting menu when supplier service unavailable should mark items as unavailable
6ms
Request with unsupported content type should return unsupported media type [contentType: "text/plain"]
5ms
Goat milk endpoint should return fresh goat milk from goat service
5ms
Cancelling an already cancelled reservation should return a conflict response
5ms
Recording an equipment reading should return the created record
5ms
Retrieving a non existent note should return not found
5ms
Deleting a reservation should return no content
5ms
Deleting an inventory item should return no content
4ms
Order summaries should return an empty list when no orders exist
4ms
Waffle recipe summary should return correct data
4ms
Retrieving a non existent order should return not found
3ms
Recording waste with zero quantity should return bad request
3ms
Sending request with unsupported content type should return unsupported media type [contentType: "text/plain"]
3ms
Submitting feedback with missing customer name should return bad request
3ms
Daily specials endpoint should return all available specials
3ms
Unknown recipe type should return zero batches
3ms
Updating a non existent note should return not found
3ms
Retrieving non existent customer preferences should return not found
2ms
Valid order should be created and an event published
2ms
Saving customer preferences with missing customer name should return bad request
2ms
Retrieving non existent feedback should return not found
2ms
Recording usage with zero quantity should return bad request
2ms
Recording waste with missing ingredient name should return bad request
2ms
Retrieving a non existent inventory item should return not found
2ms
Request with correlation id should forward it to cow service
2ms
Retrieving non existent review should return not found
2ms
Submitting review with invalid rating should return bad request
2ms
Recording a timing with zero prep seconds should return bad request
2ms
Recording waste with missing reason should return bad request
1ms
Recording usage with missing ingredient name should return bad request
1ms
Different muffin recipes should produce the expected batch [recipeName: "Rustic Wholesome", recipe: MuffinRecipeTestData { Ingredients = IngredientSet { Flour = Whole Wheat, Apples = Honeycrisp, Cinnamon = Cassia }, Toppings = System.Collections.Generic.List`1…]
1ms
Topping request with invalid or dangerous input should return bad request [field: "Category", value: "<script>alert('xss')</script>", reason: "Script tag in category", expectedError: "Category contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Waffle request with invalid ingredient should return bad request [field: "Butter", value: "<img onerror=x>", reason: "XSS in butter", expectedError: "Butter contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Update topping with invalid or dangerous input should return bad request [field: "Category", value: "javascript:alert(1)", reason: "Javascript protocol", expectedError: "Category contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Invalid status transition should return conflict [fromStatus: "Created", toStatus: "Completed"]
0ms
Valid status transition should update the order [fromStatus: "Preparing", toStatus: "Ready"]
0ms
Invalid status transition should return conflict [fromStatus: "Ready", toStatus: "Preparing"]
0ms
Requesting milk when cow service returns invalid response should return bad gateway
0ms
Different muffin recipes should produce the expected batch [recipeName: "Spiced Deluxe", recipe: MuffinRecipeTestData { Ingredients = IngredientSet { Flour = Almond Flour, Apples = Pink Lady, Cinnamon = Saigon }, Toppings = System.Collections.Generic.List`1[Br…]
0ms
Valid status transition should update the order [fromStatus: "Created", toStatus: "Cancelled"]
0ms
Muffin request with invalid field should return bad request [field: "Cinnamon", value: "<script>alert('xss')</script>", reason: "XSS in cinnamon", expectedError: "Cinnamon contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Muffin request with invalid field should return bad request [field: "Cinnamon", value: "", reason: "Cinnamon is required", expectedError: "'Cinnamon' is required.", expectedStatus: "Bad Request"]
0ms
Muffin request with invalid field should return bad request [field: "Eggs", value: "", reason: "Eggs is required", expectedError: "'Eggs' is required.", expectedStatus: "Bad Request"]
0ms
Valid status transition should update the order [fromStatus: "Ready", toStatus: "Completed"]
0ms
Waffle request with invalid ingredient should return bad request [field: "Milk", value: "<script>alert</script>", reason: "XSS in milk", expectedError: "Milk contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Requesting goat milk when goat service returns invalid response should return bad gateway
0ms
Daily special order with invalid field should return bad request [field: "Quantity", value: "0", reason: "Quantity must be greater than zero", expectedError: "Quantity must be greater than zero.", expectedStatus: "Bad Request"]
0ms
Muffin request with invalid field should return bad request [field: "Flour", value: "", reason: "Flour is required", expectedError: "'Flour' is required.", expectedStatus: "Bad Request"]
0ms
Requesting milk when cow service times out should return bad gateway
0ms
Waffle request with invalid ingredient should return bad request [field: "Flour", value: "", reason: "Flour is required", expectedError: "'Flour' is required.", expectedStatus: "Bad Request"]
0ms
Pancake request with invalid ingredient should return bad request [field: "Eggs", value: "javascript:void(0)", reason: "XSS in eggs", expectedError: "Eggs contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Topping request with invalid or dangerous input should return bad request [field: "Name", value: "", reason: "Name is required", expectedError: "'Name' is required.", expectedStatus: "Bad Request"]
0ms
Pancake request with invalid ingredient should return bad request [field: "Flour", value: "<img onerror=x>", reason: "XSS in flour", expectedError: "Flour contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Order with invalid field should return bad request [field: "Items[0].Quantity", value: "0", reason: "Quantity must be greater than zero", expectedError: "Quantity must be greater than zero.", expectedStatus: "Bad Request"]
0ms
Invalid status transition should return conflict [fromStatus: "Completed", toStatus: "Preparing"]
0ms
Muffin request with invalid field should return bad request [field: "Apples", value: "", reason: "Apples is required", expectedError: "'Apples' is required.", expectedStatus: "Bad Request"]
0ms
Order with invalid field should return bad request [field: "CustomerName", value: "", reason: "Customer name is required", expectedError: "'Customer Name' is required.", expectedStatus: "Bad Request"]
0ms
Invalid status transition should return conflict [fromStatus: "Created", toStatus: "Ready"]
0ms
Topping request with invalid or dangerous input should return bad request [field: "Name", value: "<img src=x onerror=alert(1)>", reason: "Event handler in name", expectedError: "Name contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Pancake request with invalid ingredient should return bad request [field: "Milk", value: "<script>alert</script>", reason: "XSS in milk", expectedError: "Milk contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Update topping with invalid or dangerous input should return bad request [field: "Name", value: "<script>alert('xss')</script>", reason: "Script tag in name", expectedError: "Name contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Pancake request with invalid ingredient should return bad request [field: "Eggs", value: "", reason: "Eggs is required", expectedError: "'Eggs' is required.", expectedStatus: "Bad Request"]
0ms
Order with invalid field should return bad request [field: "Items[0].BatchId", value: null, reason: "Batch ID is required", expectedError: "'Batch Id' is required.", expectedStatus: "Bad Request"]
0ms
Pancake request with invalid ingredient should return bad request [field: "Milk", value: "", reason: "Milk is required", expectedError: "'Milk' is required.", expectedStatus: "Bad Request"]
0ms
Update topping with invalid or dangerous input should return bad request [field: "Name", value: "", reason: "Name is required", expectedError: "'Name' is required.", expectedStatus: "Bad Request"]
0ms
Topping request with invalid or dangerous input should return bad request [field: "Category", value: "javascript:alert(1)", reason: "Javascript protocol", expectedError: "Category contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Update topping with invalid or dangerous input should return bad request [field: "Category", value: "<script>alert('xss')</script>", reason: "Script tag in category", expectedError: "Category contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Invalid status transition should return conflict [fromStatus: "Preparing", toStatus: "Cancelled"]
0ms
Update topping with invalid or dangerous input should return bad request [field: "Name", value: "<img src=x onerror=alert(1)>", reason: "Event handler in name", expectedError: "Name contains potentially dangerous content.", expectedStatus: "Bad Request"]
0ms
Invalid status transition should return conflict [fromStatus: "Cancelled", toStatus: "Preparing"]
0ms
Waffle request with invalid ingredient should return bad request [field: "Eggs", value: "", reason: "Eggs is required", expectedError: "'Eggs' is required.", expectedStatus: "Bad Request"]
0ms
Topping request with invalid or dangerous input should return bad request [field: "Category", value: "", reason: "Category is required", expectedError: "'Category' is required.", expectedStatus: "Bad Request"]
0ms
Order with invalid field should return bad request [field: "Items", value: null, reason: "At least one item is required", expectedError: "The Items field is required.", expectedStatus: "Bad Request"]
0ms
Waffle request with invalid ingredient should return bad request [field: "Butter", value: "", reason: "Butter is required", expectedError: "'Butter' is required.", expectedStatus: "Bad Request"]
0ms
Request with unsupported content type should return unsupported media type [contentType: "application/xml"]
0ms
Sending request with unsupported content type should return unsupported media type [contentType: "text/html"]
0ms
Request with unsupported content type should return unsupported media type [contentType: "text/html"]
0ms
Sending request with unsupported content type should return unsupported media type [contentType: "application/xml"]
0ms