"""Testing the USPhysicalRetailerAggregateView.""" from collections import OrderedDict from reporting.constants.field import LIMIT from reporting.models.us_physical_retailer_aggregate_view import ( USPhysicalRetailerAggregateView, ) def default_params(): """Get the default params.""" return { 'param_artist': [], 'param_inventory_data': True, 'param_product_name': [], 'param_retailer': [], 'param_product_type': [], 'param_sales_data': True, 'param_release_date': '', 'param_sub_label': [], 'param_vendor_id': [3], } def test_standard_query(): """Test the standard query.""" results = USPhysicalRetailerAggregateView.all(default_params()) expected = OrderedDict() expected['Retailer'] = 'Retailer4' expected['Retailer Code'] = 4 expected['Open Orders'] = 2 expected['Backorders'] = 2 expected['First4WeekS#'] = 2 expected['5DayS#'] = 2 expected['5DayR#'] = 2 expected['Last4WkS#'] = 2 expected['Last4WkR#'] = 2 expected['MTDS#'] = 2 expected['MTDR#'] = 2 expected['CYTDS#'] = 2 expected['CYTDR#'] = 2 expected['CumTDS#'] = 2 expected['CumTDR#'] = 2 content = results.message['content'] row = next(r for r in content if r['Retailer Code'] == 4) assert row == expected assert len(content) == 2 assert len(results.message['columns']) == 15 def test_limit(): """Test limit.""" params = default_params() params[LIMIT] = 1 results = USPhysicalRetailerAggregateView.all(params) assert len(results.message['content']) == 1