Yet more test shenanigans

Can you tell I'm getting fed up?
This commit is contained in:
2021-02-07 00:05:47 +00:00
parent 4f912932ca
commit 788fb3efe6
13 changed files with 135 additions and 156 deletions

View File

@@ -3,19 +3,16 @@ import pytest
from django.utils import timezone
@pytest.fixture(autouse=True)
def vat_rate(db):
return models.VatRate.objects.create(start_at='2014-03-05', rate=0.20, comment='test1')
@pytest.fixture
def basic_event(db):
return models.Event.objects.create(name="TE E1", start_date=timezone.now())
event = models.Event.objects.create(name="TE E1", start_date=timezone.now())
yield event
event.delete()
@pytest.fixture
def ra(basic_event, admin_user):
return models.RiskAssessment.objects.create(event=basic_event, nonstandard_equipment=False, nonstandard_use=False,
ra = models.RiskAssessment.objects.create(event=basic_event, nonstandard_equipment=False, nonstandard_use=False,
contractors=False, other_companies=False, crew_fatigue=False,
big_power=False, power_mic=admin_user, generators=False,
other_companies_power=False, nonstandard_equipment_power=False,
@@ -24,24 +21,30 @@ def ra(basic_event, admin_user):
area_outside_of_control=True, barrier_required=True,
nonstandard_emergency_procedure=True, special_structures=False,
suspended_structures=False, outside=False)
yield ra
ra.delete()
@pytest.fixture
def venue(db):
return models.Venue.objects.create(name="Venue 1")
venue = models.Venue.objects.create(name="Venue 1")
yield venue
venue.delete()
@pytest.fixture # TODO parameterise with Event sizes
def checklist(basic_event, venue, admin_user):
return models.EventChecklist.objects.create(event=basic_event, power_mic=admin_user, safe_parking=False,
checklist = models.EventChecklist.objects.create(event=basic_event, power_mic=admin_user, safe_parking=False,
safe_packing=False, exits=False, trip_hazard=False, warning_signs=False,
ear_plugs=False, hs_location="Locked away safely",
extinguishers_location="Somewhere, I forgot", earthing=False, pat=False,
date=timezone.now(), venue=venue)
yield checklist
checklist.delete()
@pytest.fixture
def many_events(db, scope="class"):
return {
many_events = {
# produce 7 normal events - 5 current
1: models.Event.objects.create(name="TE E1", start_date=date.today() + timedelta(days=6),
description="start future no end"),
@@ -90,3 +93,6 @@ def many_events(db, scope="class"):
status=models.Event.CANCELLED,
description="non rig today cancelled"),
}
yield many_events
for event in many_events:
event.delete()

View File

@@ -9,7 +9,6 @@ from django.test import TestCase
from django.urls import reverse
import PyRIGS.tests.base
import PyRIGS.tests.test_unit
from RIGS import models
from pytest_django.asserts import assertContains, assertNotContains, assertFormError
@@ -109,7 +108,7 @@ def test_duplicate_warning(client, admin_user):
assertContains(response, 'amount has changed')
@pytest.mark.django_db(transaction=True)
@pytest.mark.django_db
def test_email_sent(admin_client, admin_user, mailoutbox):
event = setup_event()
auth_data, hmac, url = setup_mail(event, admin_user)

View File

@@ -652,7 +652,6 @@ class TestCalendar(BaseRigboardTest):
@screenshot_failure_cls
@pytest.mark.xfail(reason="Bootstrap select handling broken for some reason, pending rewrite", run=False)
class TestHealthAndSafety(BaseRigboardTest):
def setUp(self):
super().setUp()
@@ -871,8 +870,8 @@ class TestHealthAndSafety(BaseRigboardTest):
self.page.hs_location = "The Moon"
self.page.extinguishers_location = "With the rest of the fire"
# If we do this first the search fails, for ... reasons
self.page.power_mic.search(self.profile.name)
# self.page.power_mic.toggle()
self.page.power_mic.search("Test") # FIXME
self.page.power_mic.toggle()
self.assertFalse(self.page.power_mic.is_open)
vehicle_name = 'Brian'

View File

@@ -1,14 +1,12 @@
from datetime import date
from django.core.exceptions import ObjectDoesNotExist
from django.core.management import call_command
from django.test import TestCase
from django.test.utils import override_settings
from django.urls import reverse, reverse_lazy
from django.utils import timezone
from pytest_django.asserts import assertRedirects, assertNotContains, assertContains
import PyRIGS.tests.test_unit
from PyRIGS.tests.base import assert_times_almost_equal, assert_oembed, login
from RIGS import models
@@ -369,20 +367,3 @@ def test_ra_redirect(admin_client, admin_user, ra):
response = admin_client.get(request_url, follow=True)
assertRedirects(response, expected_url, status_code=302, target_status_code=200)
def test_production_exception():
from django.core.management.base import CommandError
with pytest.raises(CommandError):
call_command("generateSampleRIGSData")
@pytest.mark.django_db(transaction=True)
def test_generate_sample_data(settings):
settings.DEBUG = True
# Run the management command and check there are no exceptions
call_command('generateSampleUserData')
call_command('generateSampleRIGSData')
# Check there are lots of events
assert models.Event.objects.all().count() > 100