"""Validation logic tests.""" import unittest from manualadjustment import constants from manualadjustment.logic import manual_adjustment class TestGetParamValidation(unittest.TestCase): """Test validation of GET /manual_adjustment input parameters.""" def test_validation_success(self): """Assert that a valid set of params returns success.""" res = manual_adjustment.validate_params( parent_id=1, parent_type='vendor', page_offset=0, page_limit=1) self.assertTrue(res.success) def test_null_parent_id(self): """Verify that null parent_id returns error.""" res = manual_adjustment.validate_params( parent_id=None, parent_type='vendor', page_offset=0, page_limit=1) self.assertEqual(res.status, 400) def test_null_parent_type(self): """Verify that null parent_type returns error.""" res = manual_adjustment.validate_params( parent_id=1, parent_type=None, page_offset=0, page_limit=1) self.assertEqual(res.status, 400) def test_neg_page_offset(self): """Verify that negative page offset returns error.""" res = manual_adjustment.validate_params( parent_id=1, parent_type='vendor', page_offset=-1, page_limit=1) self.assertEqual(res.status, 400) def test_neg_page_limit(self): """Verify that negative page limit returns error.""" res = manual_adjustment.validate_params( parent_id=1, parent_type='vendor', page_offset=0, page_limit=-11) self.assertEqual(res.status, 400) def test_exceed_max_page_limit(self): """Verify that exceeding max page limit returns error.""" res = manual_adjustment.validate_params( parent_id=1, parent_type='vendor', page_offset=0, page_limit=constants.PAGE_LIMIT_MAX_ACCEPTABLE + 1) self.assertEqual(res.status, 400) def test_meet_max_page_limit(self): """Vefify that meeting max page limit returns success.""" res = manual_adjustment.validate_params( parent_id=1, parent_type='vendor', page_offset=0, page_limit=constants.PAGE_LIMIT_MAX_ACCEPTABLE) self.assertTrue(res.success)