Plausibly fix tests

This commit is contained in:
2021-01-30 03:11:49 +00:00
parent 401629c433
commit 9b341ea583
2 changed files with 19 additions and 14 deletions

View File

@@ -287,14 +287,14 @@ class TestAssetAudit(AutoLoginTest):
category=self.category, date_acquired=datetime.date(2020, 2, 1)) category=self.category, date_acquired=datetime.date(2020, 2, 1))
models.Asset.objects.create(asset_id="111", description="Erms", status=self.status, category=self.category, models.Asset.objects.create(asset_id="111", description="Erms", status=self.status, category=self.category,
date_acquired=datetime.date(2020, 2, 1)) date_acquired=datetime.date(2020, 2, 1))
models.Asset.objects.create(asset_id="1111", description="A hammer", status=self.status, category=self.category, self.asset = models.Asset.objects.create(asset_id="1111", description="A hammer", status=self.status,
date_acquired=datetime.date(2020, 2, 1)) category=self.category,
date_acquired=datetime.date(2020, 2, 1))
self.page = pages.AssetAuditList(self.driver, self.live_server_url).open() self.page = pages.AssetAuditList(self.driver, self.live_server_url).open()
self.wait = WebDriverWait(self.driver, 20) self.wait = WebDriverWait(self.driver, 20)
def test_audit_process(self): def test_audit_fail(self):
asset_id = "1111" self.page.set_query(self.asset.asset_id)
self.page.set_query(asset_id)
self.page.search() self.page.search()
self.wait.until(ec.visibility_of_element_located((By.ID, 'modal'))) self.wait.until(ec.visibility_of_element_located((By.ID, 'modal')))
# Do it wrong on purpose to check error display # Do it wrong on purpose to check error display
@@ -302,20 +302,26 @@ class TestAssetAudit(AutoLoginTest):
self.page.modal.description = "" self.page.modal.description = ""
self.page.modal.submit() self.page.modal.submit()
self.wait.until(animation_is_finished()) self.wait.until(animation_is_finished())
self.driver.implicitly_wait(4)
self.assertIn("This field is required.", self.page.modal.errors["Description"]) self.assertIn("This field is required.", self.page.modal.errors["Description"])
def test_audit_success(self):
self.page.set_query(self.asset.asset_id)
self.page.search()
self.wait.until(ec.visibility_of_element_located((By.ID, 'modal')))
# Now do it properly # Now do it properly
self.page.modal.description = new_desc = "A BIG hammer" self.page.modal.description = new_desc = "A BIG hammer"
self.page.modal.submit() self.page.modal.submit()
self.wait.until(animation_is_finished()) self.wait.until(animation_is_finished())
submit_time = timezone.now() submit_time = timezone.now()
# Check data is correct # Check data is correct
audited = models.Asset.objects.get(asset_id=asset_id) self.asset.refresh_from_db()
self.assertEqual(audited.description, new_desc) self.assertEqual(self.asset.description, new_desc)
# Make sure audit 'log' was filled out # Make sure audit 'log' was filled out
self.assertEqual(self.profile.initials, audited.last_audited_by.initials) self.assertEqual(self.profile.initials, self.asset.last_audited_by.initials)
assert_times_equal(submit_time, audited.last_audited_at) assert_times_equal(submit_time, self.asset.last_audited_at)
# Check we've removed it from the 'needing audit' list # Check we've removed it from the 'needing audit' list
self.assertNotIn(asset_id, self.page.assets) self.assertNotIn(self.asset.asset_id, self.page.assets)
def test_audit_list(self): def test_audit_list(self):
self.assertEqual(len(models.Asset.objects.filter(last_audited_at=None)), len(self.page.assets)) self.assertEqual(len(models.Asset.objects.filter(last_audited_at=None)), len(self.page.assets))

View File

@@ -213,18 +213,17 @@ def create_asset_one():
status = models.AssetStatus.objects.create(name="Probably Fine", should_show=True) status = models.AssetStatus.objects.create(name="Probably Fine", should_show=True)
return models.Asset.objects.create(asset_id="1", description="Half Price Fish", status=status, category=category, date_acquired=datetime.date(2020, 2, 1)) return models.Asset.objects.create(asset_id="1", description="Half Price Fish", status=status, category=category, date_acquired=datetime.date(2020, 2, 1))
# Nothing should be available to the unauthenticated
def test_unauthenticated(client): # Nothing should be available to the unauthenticated
def test_unauthenticated(client): create_asset_one()
for url in filter(lambda url: url.name is not None and "json" not in str(url), urls.urlpatterns): for url in filter(lambda url: url.name is not None and "json" not in str(url), urls.urlpatterns):
pattern = str(url.pattern) pattern = str(url.pattern)
request_url = ""
if ":pk>" in pattern: if ":pk>" in pattern:
request_url = reverse(url.name, kwargs={'pk': 1}) request_url = reverse(url.name, kwargs={'pk': 1})
else: else:
request_url = reverse(url.name) request_url = reverse(url.name)
if request_url: if request_url:
print(request_url)
response = client.get(request_url, follow=True, HTTP_HOST='example.com') response = client.get(request_url, follow=True, HTTP_HOST='example.com')
# TODO Check the URL here # TODO Check the URL here
assertContains(response, 'Login') assertContains(response, 'Login')