fix: execution tests
This commit is contained in:
@@ -23,10 +23,7 @@ class TestProducts(TestCase):
|
||||
def test_import_products(self):
|
||||
self._import_csv()
|
||||
all_products = self._get_products()
|
||||
self.assertEqual(
|
||||
len(all_products),
|
||||
3
|
||||
)
|
||||
self.assertEqual(len(all_products), 3)
|
||||
|
||||
def test_import_products_with_categories(self):
|
||||
self._import_csv()
|
||||
@@ -38,77 +35,74 @@ class TestProducts(TestCase):
|
||||
categories_on_csv = ["Cafes", "Alimentos", "Aceites"]
|
||||
categories = ProductCategory.objects.all()
|
||||
self.assertCountEqual(
|
||||
[c.name for c in categories],
|
||||
categories_on_csv
|
||||
[c.name for c in categories], categories_on_csv
|
||||
)
|
||||
|
||||
def test_update_products(self):
|
||||
self._import_csv()
|
||||
first_products = self._get_products()
|
||||
self._import_csv('example_products2.csv')
|
||||
self._import_csv("example_products2.csv")
|
||||
seconds_products = self._get_products()
|
||||
self.assertEqual(len(first_products), len(seconds_products))
|
||||
|
||||
def test_preserve_id_on_import(self):
|
||||
self._import_csv()
|
||||
id_aceite = Product.objects.get(name='Aceite').id
|
||||
self._import_csv('example_products2.csv')
|
||||
id_post_updated = Product.objects.get(name='Aceite').id
|
||||
id_aceite = Product.objects.get(name="Aceite").id
|
||||
self._import_csv("example_products2.csv")
|
||||
id_post_updated = Product.objects.get(name="Aceite").id
|
||||
self.assertEqual(id_aceite, id_post_updated)
|
||||
|
||||
def test_update_categories_on_import(self):
|
||||
self._import_csv()
|
||||
first_products = self._get_products()
|
||||
first_categories = {p["name"]: p["categories"] for p in first_products}
|
||||
self._import_csv('example_products2.csv')
|
||||
first_categories = {
|
||||
p["name"]: p["categories"] for p in first_products
|
||||
}
|
||||
self._import_csv("example_products2.csv")
|
||||
updated_products = self._get_products()
|
||||
updated_categories = {
|
||||
p["name"]: p["categories"] for p in updated_products}
|
||||
p["name"]: p["categories"] for p in updated_products
|
||||
}
|
||||
|
||||
self.assertIn('Cafes', first_categories['Arroz'])
|
||||
self.assertNotIn('Granos', first_categories['Arroz'])
|
||||
self.assertIn("Cafes", first_categories["Arroz"])
|
||||
self.assertNotIn("Granos", first_categories["Arroz"])
|
||||
|
||||
self.assertIn('Granos', updated_categories['Arroz'])
|
||||
self.assertNotIn('Cafes', updated_categories['Arroz'])
|
||||
self.assertIn("Granos", updated_categories["Arroz"])
|
||||
self.assertNotIn("Cafes", updated_categories["Arroz"])
|
||||
|
||||
def test_update_price(self):
|
||||
self._import_csv()
|
||||
first_products = self._get_products()
|
||||
first_prices = {p["name"]: p["price_list"] for p in first_products}
|
||||
expected_first_prices = {
|
||||
"Aceite": '50000.00',
|
||||
"Café": '14000.00',
|
||||
"Arroz": '7000.00'
|
||||
"Aceite": "50000.00",
|
||||
"Café": "14000.00",
|
||||
"Arroz": "7000.00",
|
||||
}
|
||||
self.assertDictEqual(
|
||||
expected_first_prices,
|
||||
first_prices
|
||||
)
|
||||
self.assertDictEqual(expected_first_prices, first_prices)
|
||||
|
||||
self._import_csv('example_products2.csv')
|
||||
self._import_csv("example_products2.csv")
|
||||
updated_products = self._get_products()
|
||||
updated_prices = {p["name"]: p["price_list"] for p in updated_products}
|
||||
updated_prices = {
|
||||
p["name"]: p["price_list"] for p in updated_products
|
||||
}
|
||||
expected_updated_prices = {
|
||||
"Aceite": '50000.00',
|
||||
"Café": '15000.00',
|
||||
"Arroz": '6000.00'
|
||||
"Aceite": "50000.00",
|
||||
"Café": "15000.00",
|
||||
"Arroz": "6000.00",
|
||||
}
|
||||
|
||||
self.assertDictEqual(
|
||||
expected_updated_prices,
|
||||
updated_prices
|
||||
)
|
||||
self.assertDictEqual(expected_updated_prices, updated_prices)
|
||||
|
||||
def _get_products(self):
|
||||
products_response = self.client.get("/don_confiao/productos")
|
||||
return json.loads(products_response.content.decode('utf-8'))
|
||||
return json.loads(products_response.content.decode("utf-8"))
|
||||
|
||||
def _import_csv(self, csv_file='example_products.csv'):
|
||||
app_name = "don_confiao"
|
||||
def _import_csv(self, csv_file="example_products.csv"):
|
||||
app_name = "don_confiao/tests/data_example"
|
||||
app_dir = os.path.join(settings.BASE_DIR, app_name)
|
||||
example_csv = os.path.join(app_dir, csv_file)
|
||||
with open(example_csv, 'rb') as csv:
|
||||
with open(example_csv, "rb") as csv:
|
||||
self.client.post(
|
||||
"/don_confiao/importar_productos",
|
||||
{"csv_file": csv}
|
||||
"/don_confiao/importar_productos", {"csv_file": csv}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user