"""Test for update_order schemas module.""" from marshmallow import ValidationError import pytest from ows_product_physical.schemas.handlers import update_order def test_patch_orders_valid_payload(): """Test that a valid payload does not create errors, returns data.""" valid_patch_order_payload = { 'items': [{ 'order_id': 1, 'status': 'cancelled', 'output_file': 'cancelled.xml' }] } result = update_order.PatchOrdersPayloadSchema().load( valid_patch_order_payload) assert result == valid_patch_order_payload @pytest.mark.parametrize('invalid_patch_order_payload', [ # missing items field { 'no items': [1, 2] }, # missing order id { 'items': [{ 'status': 'cancelled', 'output_file': 'cancelled.xml' }] }, # invalid status { 'items': [{ 'status': 'amazing' }] } ]) def test_patch_orders_invalid_payloads(invalid_patch_order_payload): """Test that invalid payloads generate errors.""" try: update_order.PatchOrdersPayloadSchema().load( invalid_patch_order_payload) assert False except ValidationError: assert True