"""Test for the Product Handler.""" from unittest.mock import patch from owsresponse import response from product_store_mapping.logic import track from product_store_mapping.models import productstoremapping TEST_MAPPING_DATA = [ productstoremapping.ProductStoreMapping( 123456, 1, 1234654, 0, '{"provider": "orchard", "custom_id": "807978099098790"}' ), productstoremapping.ProductStoreMapping( 123456, 1, 12346545234, 1, '{"custom_id": "34523452345_ASDF3412341"}' ), productstoremapping.ProductStoreMapping( 123456, 1, 12346542345, 2, '{"custom_id": "34523452345_ASDF3414534"}' ), ] @patch("product_store_mapping.models.productstoremapping.get_track") def test_get_track(mock_model): """Test getting the track.""" mock_model.return_value = response.Response(TEST_MAPPING_DATA[0]) result = track.get_track(0, 1) assert productstoremapping.get_track.called productstoremapping.get_track.assert_called_with(0, 1) assert result.message == { "store_unique_id": 1234654, "custom_id": "807978099098790", } @patch("product_store_mapping.models.productstoremapping.get_track") def test_get_product_with_tracks_not_found(mock_model): """Test logic.Product.get_product_with_tracks.""" mock_model.return_value = response.create_not_found_response() result = track.get_track(123456, 1) assert productstoremapping.get_track.called productstoremapping.get_track.assert_called_with(123456, 1) assert result.status == 404