def test_valid_association_of_a_product_to_multiple_product_list(self): test_product_list_name = "product_list-0001" second_test_product_list_name = "product_list-0002" test_product_id = "product-0001" # create test products products = [ "product-0001", "product-0002", "product-0003", "product-0004", "product-0005", ] for product_id in products: apicalls.create_product(self.client, product_id) # create test product lists product_list_names = [ test_product_list_name, second_test_product_list_name, "product_list-0003", ] for product_list_name in product_list_names: apicalls.create_product_list(self.client, product_list_name) # assign products products = [ "product-0003", test_product_id, "product-0002", ] product_ids = [] for product_id in products: product = apicalls.get_product_by_name(self.client, product_id) product_ids.append(product['id']) # lookup id product_list = apicalls.get_product_list_by_name(self.client, test_product_list_name) second_product_list = apicalls.get_product_list_by_name(self.client, second_test_product_list_name) # associate products to product_lists product_list["products"] = product_ids second_product_list['products'] = product_ids apicalls.update_product_list(self.client, product_list) apicalls.update_product_list(self.client, second_product_list) # verify, that the product is associated with both product_lists product = apicalls.get_product_by_name(self.client, test_product_id) expected_set = { second_test_product_list_name, test_product_list_name, } inters_set = set(product['lists']).intersection(expected_set) self.assertSetEqual(inters_set, expected_set) apicalls.clean_db(self.client)
def test_valid_association_of_a_product_to_single_product_list(self): test_product_list_name = "product_list-0001" # create test products products = [ "product-0001", "product-0002", "product-0003", "product-0004", "product-0005", ] for product_id in products: apicalls.create_product(self.client, product_id) # create test product lists product_list_names = [ test_product_list_name, "product_list-0002", "product_list-0003", ] for product_list_name in product_list_names: apicalls.create_product_list(self.client, product_list_name) # assign products products = [ "product-0003", "product-0001", "product-0002", ] product_ids = [] for product_id in products: product = apicalls.get_product_by_name(self.client, product_id) product_ids.append(product['id']) # lookup id product_list = apicalls.get_product_list_by_name(self.client, test_product_list_name) # associate products to product_list product_list["products"] = product_ids response_json = apicalls.update_product_list(self.client, product_list) # verify results self.assertEqual(sorted(response_json['products']), sorted(product_ids)) apicalls.clean_db(self.client)