Skip to content

Commit

Permalink
Add unit test for the Package import modifications #84
Browse files Browse the repository at this point in the history
Signed-off-by: tdruez <tdruez@nexb.com>
  • Loading branch information
tdruez committed May 15, 2024
1 parent 0c18183 commit 126b318
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions component_catalog/tests/test_importers.py
Original file line number Diff line number Diff line change
Expand Up @@ -1318,6 +1318,40 @@ def test_package_import_prepare_package(self):
prepared_package = PackageImporter.prepare_package(package_data)
self.assertEqual(expected, prepared_package)

def test_package_import_update_existing(self):
formset_data = {
"form-TOTAL_FORMS": "1",
"form-INITIAL_FORMS": "0",
"form-0-filename": "filename.zip",
}

importer = PackageImporter(self.super_user, formset_data=formset_data)
self.assertTrue(importer.formset.is_valid())
importer.save_all()
self.assertEqual(1, len(importer.results["added"]))

importer = PackageImporter(self.super_user, formset_data=formset_data)
self.assertTrue(importer.formset.is_valid())
importer.save_all()
self.assertEqual(1, len(importer.results["unmodified"]))

formset_data = {
"form-TOTAL_FORMS": "1",
"form-INITIAL_FORMS": "0",
"form-0-filename": "filename.zip",
"form-0-notes": "Notes",
}
importer = PackageImporter(self.super_user, formset_data=formset_data)
self.assertTrue(importer.formset.is_valid())
importer.save_all()
self.assertEqual(1, len(importer.results["modified"]))
modified_package = importer.results["modified"][0]
self.assertEqual("Notes", modified_package.notes)

history_entry = History.objects.get_for_object(modified_package).get()
expected_messages = "Updated notes from import"
self.assertEqual(expected_messages, history_entry.change_message)

def test_package_import_add_to_product(self):
admin_user = create_admin("admin_user", self.dataspace)
self.client.login(username=admin_user.username, password="secret")
Expand Down

0 comments on commit 126b318

Please sign in to comment.