def test_get_categories_with_no_args(self): bad_args = (None, [], {}, ()) for arg in bad_args: try: product.get_categories(None, arg) except Fault as f: self.assertEqual(f.faultCode, 400, AssertMessage.SHOULD_BE_400) else: self.fail(AssertMessage.NOT_VALIDATE_ARGS)
def test_get_categories_with_non_exist_prod(self): try: product.get_categories(None, 9999) except Fault as f: self.assertEqual(f.faultCode, 404, AssertMessage.SHOULD_BE_404) else: self.fail(AssertMessage.NOT_VALIDATE_ARGS) try: product.get_categories(None, "Unknown Product") except Fault as f: self.assertEqual(f.faultCode, 404, AssertMessage.SHOULD_BE_404) else: self.fail(AssertMessage.NOT_VALIDATE_ARGS)
def test_get_categories_with_product_name(self): cats = product.get_categories(None, 'StarCraft') self.assertIsNotNone(cats) self.assertEqual(len(cats), 3) self.assertEqual(cats[0]['name'], '--default--') self.assertEqual(cats[1]['name'], 'auto') self.assertEqual(cats[2]['name'], 'manual')
def test_get_categories_with_product_id(self): cats = product.get_categories(None, self.product.pk) self.assertIsNotNone(cats) self.assertEqual(len(cats), 3) self.assertTrue(cats[0]['name'], '--default--') self.assertTrue(cats[1]['name'], 'auto') self.assertTrue(cats[2]['name'], 'manual')
def test_get_categories_with_product_name(self): cats = product.get_categories(None, 'StarCraft') self.assertIsNotNone(cats) cats = sorted(cats, key=operator.itemgetter('name')) self.assertEqual(len(cats), 3) self.assertEqual(cats[0]['name'], '--default--') self.assertEqual(cats[1]['name'], 'auto') self.assertEqual(cats[2]['name'], 'manual')
def test_get_categories_with_name(self): try: cats = product.get_categories(None, "StarCraft") except Fault: self.fail(AssertMessage.UNEXCEPT_ERROR) else: self.assertIsNotNone(cats) self.assertEqual(len(cats), 1) self.assertEqual(cats[0]['name'], '--default--')
def test_get_categories_with_product_name(self): cats = product.get_categories(None, 'StarCraft') self.assertIsNotNone(cats) # PostgreSQL returns data in arbitrary order category_names = [c['name'] for c in cats] self.assertEqual(3, len(category_names)) self.assertIn('--default--', category_names) self.assertIn('auto', category_names) self.assertIn('manual', category_names)