"""Test product_delivery logic.""" from unittest.mock import patch from owsresponse import response from ows_product_physical.constant import snowflake from ows_product_physical.logic import product_delivery from ows_product_physical.models import snowflake_products as model def test_get_eligible_product_for_new_delivery(db_fixture): """Test eligible_products_for_new_delivery.""" store_id = 1705 expected_result = response.Response({ 'product_ids': [2136606, 2181632, 2175230, 2175379, 2196244], 'limit': 10, 'offset': 0, }) with patch.object( model, 'get_products_for_new_delivery', return_value=expected_result ) as mock_fn: actual_result = product_delivery.eligible_products_for_new_delivery( store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) assert actual_result assert actual_result.message == expected_result.message mock_fn.assert_called_once_with( snowflake.PHYSICAL_DISTRIBUTION_FORMATS, store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) def test_get_physical_product_change_history(db_fixture): """Test eligible_products_for_new_delivery.""" store_id = 1705 expected_result = response.Response({ 'product_ids': [2136606, 2181632, 2175230, 2175379, 2196244], 'limit': 10, 'offset': 0, }) with patch.object( model, 'get_products_for_new_delivery', return_value=expected_result ) as mock_fn: actual_result = product_delivery.eligible_products_for_new_delivery( store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) assert actual_result assert actual_result.message == expected_result.message mock_fn.assert_called_once_with( snowflake.PHYSICAL_DISTRIBUTION_FORMATS, store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) def test_deleted_products_for_takedown(db_fixture): """Test deleted_products_for_takedown.""" store_id = 1705 expected_result = response.Response({ 'product_ids': [2136606, 2181632, 2175230, 2175379, 2196244], 'limit': 10, 'offset': 0, }) with patch.object( model, 'get_deleted_products_for_takedown', return_value=expected_result ) as mock_fn: actual_result = product_delivery.deleted_products_for_takedown( store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) assert actual_result assert actual_result.message == expected_result.message mock_fn.assert_called_once_with( snowflake.PHYSICAL_DISTRIBUTION_FORMATS, store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) def test_products_eligible_for_update_delivery(db_fixture): """Test products_eligible_for_update_delivery.""" store_id = 1705 expected_result = response.Response({ 'product_ids': [2136606, 2181632, 2175230, 2175379, 2196244], 'limit': 10, 'offset': 0, }) with patch.object( model, 'get_products_eligible_for_update_delivery', return_value=expected_result ) as mock_fn: actual_result = product_delivery.products_eligible_for_update_delivery( store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' ) assert actual_result assert actual_result.message == expected_result.message mock_fn.assert_called_once_with( snowflake.PHYSICAL_DISTRIBUTION_FORMATS, store_id=store_id, limit=10, offset=0, order_by='release_id', order_dir='ASC' )