mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-02-20 13:29:41 +00:00
Fixing tests for new logic etc
This commit is contained in:
@@ -7,7 +7,6 @@ from django.conf import settings
|
|||||||
from django.views.decorators.clickjacking import xframe_options_exempt
|
from django.views.decorators.clickjacking import xframe_options_exempt
|
||||||
from django.contrib.auth.views import LoginView
|
from django.contrib.auth.views import LoginView
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
from registration.backends.default.views import RegistrationView
|
|
||||||
from PyRIGS.decorators import permission_required_with_403
|
from PyRIGS.decorators import permission_required_with_403
|
||||||
import RIGS
|
import RIGS
|
||||||
import users
|
import users
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ from reversion import revisions as reversion
|
|||||||
from django.db.models import AutoField, ManyToOneRel
|
from django.db.models import AutoField, ManyToOneRel
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
|
|
||||||
|
|
||||||
class EventRiskAssessmentCreate(generic.CreateView):
|
class EventRiskAssessmentCreate(generic.CreateView):
|
||||||
model = models.RiskAssessment
|
model = models.RiskAssessment
|
||||||
template_name = 'risk_assessment_form.html'
|
template_name = 'risk_assessment_form.html'
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ class CalendarICS(ICalFeed):
|
|||||||
return item.earliest_time
|
return item.earliest_time
|
||||||
|
|
||||||
def item_end_datetime(self, item):
|
def item_end_datetime(self, item):
|
||||||
if type(item.latest_time) == datetime.date: # Ical end_datetime is non-inclusive, so add a day
|
if isinstance(item.latest_time, datetime.date): # Ical end_datetime is non-inclusive, so add a day
|
||||||
return item.latest_time + datetime.timedelta(days=1)
|
return item.latest_time + datetime.timedelta(days=1)
|
||||||
|
|
||||||
return item.latest_time
|
return item.latest_time
|
||||||
|
|||||||
24
RIGS/migrations/0048_auto_20201227_1749.py
Normal file
24
RIGS/migrations/0048_auto_20201227_1749.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Generated by Django 3.1.2 on 2020-12-27 17:49
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('RIGS', '0047_auto_20201213_1642'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='riskassessment',
|
||||||
|
name='event_size',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='riskassessment',
|
||||||
|
name='power_mic',
|
||||||
|
field=models.ForeignKey(blank=True, help_text='Who is the Power MIC? (if yes to the above question, this person <em>must</em> be a Power Technician or Power Supervisor)', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='power_mic', to=settings.AUTH_USER_MODEL, verbose_name='Power MIC'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -616,7 +616,7 @@ def validate_url(value):
|
|||||||
if not value:
|
if not value:
|
||||||
return # Required error is done the field
|
return # Required error is done the field
|
||||||
obj = urlparse(value)
|
obj = urlparse(value)
|
||||||
if not obj.hostname in ('nottinghamtec.sharepoint.com'):
|
if obj.hostname not in ('nottinghamtec.sharepoint.com'):
|
||||||
raise ValidationError('URL must point to a location on the TEC Sharepoint')
|
raise ValidationError('URL must point to a location on the TEC Sharepoint')
|
||||||
|
|
||||||
|
|
||||||
@@ -638,7 +638,7 @@ class RiskAssessment(models.Model, RevisionMixin):
|
|||||||
general_notes = models.TextField(blank=True, null=True, help_text="Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?")
|
general_notes = models.TextField(blank=True, null=True, help_text="Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?")
|
||||||
|
|
||||||
# Power
|
# Power
|
||||||
event_size = models.IntegerField(blank=True, null=True, choices=SIZES)
|
# event_size = models.IntegerField(blank=True, null=True, choices=SIZES)
|
||||||
big_power = models.BooleanField(help_text="Does the event require larger power supplies than 13A or 16A single phase wall sockets, or draw more than 20A total current?")
|
big_power = models.BooleanField(help_text="Does the event require larger power supplies than 13A or 16A single phase wall sockets, or draw more than 20A total current?")
|
||||||
# If yes to the above two, you must answer...
|
# If yes to the above two, you must answer...
|
||||||
power_mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='power_mic', blank=True, null=True,
|
power_mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='power_mic', blank=True, null=True,
|
||||||
@@ -704,13 +704,6 @@ class RiskAssessment(models.Model, RevisionMixin):
|
|||||||
# Check for idiots
|
# Check for idiots
|
||||||
if not self.outside and self.generators:
|
if not self.outside and self.generators:
|
||||||
raise forms.ValidationError("Engage brain, please. <strong>No generators indoors!(!)</strong>")
|
raise forms.ValidationError("Engage brain, please. <strong>No generators indoors!(!)</strong>")
|
||||||
# Confirm event size. Check all except generators, since generators entails outside
|
|
||||||
if self.outside or self.other_companies_power or self.nonstandard_equipment_power or self.multiple_electrical_environments:
|
|
||||||
self.event_size = self.LARGE[0]
|
|
||||||
elif self.big_power:
|
|
||||||
self.event_size = self.MEDIUM[0]
|
|
||||||
else:
|
|
||||||
self.event_size = self.SMALL[0]
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['event']
|
ordering = ['event']
|
||||||
@@ -718,6 +711,16 @@ class RiskAssessment(models.Model, RevisionMixin):
|
|||||||
('review_riskassessment', 'Can review Risk Assessments')
|
('review_riskassessment', 'Can review Risk Assessments')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def event_size(self):
|
||||||
|
# Confirm event size. Check all except generators, since generators entails outside
|
||||||
|
if self.outside or self.other_companies_power or self.nonstandard_equipment_power or self.multiple_electrical_environments:
|
||||||
|
return self.LARGE[0]
|
||||||
|
elif self.big_power:
|
||||||
|
return self.MEDIUM[0]
|
||||||
|
else:
|
||||||
|
return self.SMALL[0]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def activity_feed_string(self):
|
def activity_feed_string(self):
|
||||||
return str(self.event)
|
return str(self.event)
|
||||||
|
|||||||
@@ -41,6 +41,14 @@
|
|||||||
$('#{{ form.power_notes.id_for_label }}').prop('required', parseBool(this.value));
|
$('#{{ form.power_notes.id_for_label }}').prop('required', parseBool(this.value));
|
||||||
$('#{{ form.power_plan.id_for_label }}').prop('required', parseBool(this.value));
|
$('#{{ form.power_plan.id_for_label }}').prop('required', parseBool(this.value));
|
||||||
});
|
});
|
||||||
|
$('input[type=radio][name=special_structures]').change(function() {
|
||||||
|
$('#{{ form.persons_responsible_structures.id_for_label }}').prop('hidden', !parseBool(this.value)).prop('required', parseBool(this.value));
|
||||||
|
$('label[for={{ form.persons_responsible_structures.id_for_label }}]').prop('hidden', !parseBool(this.value));
|
||||||
|
});
|
||||||
|
$('input[type=radio][name=suspended_structures]').change(function() {
|
||||||
|
$('#{{ form.rigging_plan.id_for_label }}').prop('hidden', !parseBool(this.value)).prop('required', parseBool(this.value));
|
||||||
|
$('label[for={{ form.rigging_plan.id_for_label }}]').prop('hidden', !parseBool(this.value));
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
@@ -110,7 +118,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<p class="pt-4"><strong>If the answer is yes to any of the below questions this is a Large Event and you <em>must</em> consult a power supervisor</strong></p>
|
<p class="pt-4"><strong>If the answer is yes to ANY of the below questions this is a Large Event and you <em>must</em> consult a power supervisor</strong></p>
|
||||||
{% include 'partials/yes_no_radio.html' with formitem=form.outside %}
|
{% include 'partials/yes_no_radio.html' with formitem=form.outside %}
|
||||||
{% include 'partials/yes_no_radio.html' with formitem=form.generators label="Will generators be used?" %}
|
{% include 'partials/yes_no_radio.html' with formitem=form.generators label="Will generators be used?" %}
|
||||||
{% include 'partials/yes_no_radio.html' with formitem=form.other_companies_power %}
|
{% include 'partials/yes_no_radio.html' with formitem=form.other_companies_power %}
|
||||||
@@ -159,11 +167,11 @@
|
|||||||
<div class="card-header">Structures</div>
|
<div class="card-header">Structures</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{% include 'partials/yes_no_radio.html' with formitem=form.special_structures %}
|
{% include 'partials/yes_no_radio.html' with formitem=form.special_structures %}
|
||||||
|
<label for="{{ form.persons_responsible_structures.id_for_label }}" class="mt-3" hidden="true">{{ form.persons_responsible_structures.help_text }}</label>
|
||||||
|
{% render_field form.persons_responsible_structures class+="form-control mb-3" hidden="true" %}
|
||||||
{% include 'partials/yes_no_radio.html' with formitem=form.suspended_structures %}
|
{% include 'partials/yes_no_radio.html' with formitem=form.suspended_structures %}
|
||||||
<label for="{{ form.persons_responsible_structures.id_for_label }}" class="mt-3">{{ form.persons_responsible_structures.help_text }}</label>
|
<label for="{{ form.rigging_plan.id_for_label }}" class="mt-2" hidden="true">{{ form.rigging_plan.help_text|safe }}</label>
|
||||||
{% render_field form.persons_responsible_structures class+="form-control mb-3" %}
|
{% render_field form.rigging_plan class+="form-control" hidden="true" %}
|
||||||
<label for="{{ form.rigging_plan.id_for_label }}" class="mt-2">{{ form.rigging_plan.help_text|safe }}</label>
|
|
||||||
{% render_field form.rigging_plan class+="form-control" %}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -179,11 +179,13 @@ def namewithnotes(obj, url, autoescape=True):
|
|||||||
|
|
||||||
|
|
||||||
@register.filter(needs_autoescape=True)
|
@register.filter(needs_autoescape=True)
|
||||||
def linkornone(attr, namespace=None, autoescape=True):
|
def linkornone(target, namespace=None, autoescape=True):
|
||||||
if attr is not None:
|
if target is not None:
|
||||||
if namespace is not None:
|
if namespace is not None:
|
||||||
attr = namespace + "://" + attr
|
link = namespace + "://" + target
|
||||||
return mark_safe("<a href='{}' target='_blank'><span class='overflow-ellipsis'>{}</span></a>".format(attr, str(attr)))
|
else:
|
||||||
|
link = target
|
||||||
|
return mark_safe("<a href='{}' target='_blank'><span class='overflow-ellipsis'>{}</span></a>".format(link, str(target)))
|
||||||
else:
|
else:
|
||||||
return "None"
|
return "None"
|
||||||
|
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ class CreateRiskAssessment(FormPage):
|
|||||||
'crew_fatigue': (regions.RadioSelect, (By.ID, 'id_crew_fatigue')),
|
'crew_fatigue': (regions.RadioSelect, (By.ID, 'id_crew_fatigue')),
|
||||||
'general_notes': (regions.TextBox, (By.ID, 'id_general_notes')),
|
'general_notes': (regions.TextBox, (By.ID, 'id_general_notes')),
|
||||||
'big_power': (regions.RadioSelect, (By.ID, 'id_big_power')),
|
'big_power': (regions.RadioSelect, (By.ID, 'id_big_power')),
|
||||||
|
'outside': (regions.RadioSelect, (By.ID, 'id_outside')),
|
||||||
'generators': (regions.RadioSelect, (By.ID, 'id_generators')),
|
'generators': (regions.RadioSelect, (By.ID, 'id_generators')),
|
||||||
'other_companies_power': (regions.RadioSelect, (By.ID, 'id_other_companies_power')),
|
'other_companies_power': (regions.RadioSelect, (By.ID, 'id_other_companies_power')),
|
||||||
'nonstandard_equipment_power': (regions.RadioSelect, (By.ID, 'id_nonstandard_equipment_power')),
|
'nonstandard_equipment_power': (regions.RadioSelect, (By.ID, 'id_nonstandard_equipment_power')),
|
||||||
@@ -207,7 +208,7 @@ class CreateRiskAssessment(FormPage):
|
|||||||
'persons_responsible_structures': (regions.TextBox, (By.ID, 'id_persons_responsible_structures')),
|
'persons_responsible_structures': (regions.TextBox, (By.ID, 'id_persons_responsible_structures')),
|
||||||
'suspended_structures': (regions.RadioSelect, (By.ID, 'id_suspended_structures')),
|
'suspended_structures': (regions.RadioSelect, (By.ID, 'id_suspended_structures')),
|
||||||
'supervisor_consulted': (regions.CheckBox, (By.ID, 'id_supervisor_consulted')),
|
'supervisor_consulted': (regions.CheckBox, (By.ID, 'id_supervisor_consulted')),
|
||||||
'outside': (regions.CheckBox, (By.ID, 'id_outside')),
|
'rigging_plan': (regions.TextBox, (By.ID, 'id_rigging_plan')),
|
||||||
}
|
}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -248,8 +249,6 @@ class CreateEventChecklist(FormPage):
|
|||||||
'supply_test': (regions.CheckBox, (By.ID, 'id_supply_test')),
|
'supply_test': (regions.CheckBox, (By.ID, 'id_supply_test')),
|
||||||
'earthing': (regions.CheckBox, (By.ID, 'id_earthing')),
|
'earthing': (regions.CheckBox, (By.ID, 'id_earthing')),
|
||||||
'pat': (regions.CheckBox, (By.ID, 'id_pat')),
|
'pat': (regions.CheckBox, (By.ID, 'id_pat')),
|
||||||
'earthing_m': (regions.CheckBox, (By.XPATH, '(//*[@id="id_earthing"])[2]')),
|
|
||||||
'pat_m': (regions.CheckBox, (By.XPATH, '(//*[@id="id_pat"])[2]')),
|
|
||||||
'source_rcd': (regions.CheckBox, (By.ID, 'id_source_rcd')),
|
'source_rcd': (regions.CheckBox, (By.ID, 'id_source_rcd')),
|
||||||
'labelling': (regions.CheckBox, (By.ID, 'id_labelling')),
|
'labelling': (regions.CheckBox, (By.ID, 'id_labelling')),
|
||||||
'fd_voltage_l1': (regions.TextBox, (By.ID, 'id_fd_voltage_l1')),
|
'fd_voltage_l1': (regions.TextBox, (By.ID, 'id_fd_voltage_l1')),
|
||||||
@@ -264,9 +263,6 @@ class CreateEventChecklist(FormPage):
|
|||||||
'w1_earth_fault': (regions.TextBox, (By.ID, 'id_w1_earth_fault')),
|
'w1_earth_fault': (regions.TextBox, (By.ID, 'id_w1_earth_fault')),
|
||||||
}
|
}
|
||||||
|
|
||||||
def select_size(self, size):
|
|
||||||
self.find_element(By.XPATH, '//button[.="{}"]'.format(size)).click()
|
|
||||||
|
|
||||||
def add_vehicle(self):
|
def add_vehicle(self):
|
||||||
self.find_element(*self._add_vehicle_locator).click()
|
self.find_element(*self._add_vehicle_locator).click()
|
||||||
|
|
||||||
|
|||||||
@@ -669,7 +669,14 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
start_date=date.today() + timedelta(days=6),
|
start_date=date.today() + timedelta(days=6),
|
||||||
description="start future no end",
|
description="start future no end",
|
||||||
purchase_order='TESTPO',
|
purchase_order='TESTPO',
|
||||||
person=self.client)
|
person=self.client,
|
||||||
|
venue=self.venue)
|
||||||
|
self.testEvent3 = models.Event.objects.create(name="TE E3", status=models.Event.PROVISIONAL,
|
||||||
|
start_date=date.today() + timedelta(days=6),
|
||||||
|
description="start future no end",
|
||||||
|
purchase_order='TESTPO',
|
||||||
|
person=self.client,
|
||||||
|
venue=self.venue)
|
||||||
self.testRA = models.RiskAssessment.objects.create(event=self.testEvent2, supervisor_consulted=False, nonstandard_equipment=False,
|
self.testRA = models.RiskAssessment.objects.create(event=self.testEvent2, supervisor_consulted=False, nonstandard_equipment=False,
|
||||||
nonstandard_use=False,
|
nonstandard_use=False,
|
||||||
contractors=False,
|
contractors=False,
|
||||||
@@ -690,6 +697,26 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
special_structures=False,
|
special_structures=False,
|
||||||
suspended_structures=False,
|
suspended_structures=False,
|
||||||
outside=False)
|
outside=False)
|
||||||
|
self.testRA2 = models.RiskAssessment.objects.create(event=self.testEvent3, supervisor_consulted=False, nonstandard_equipment=False,
|
||||||
|
nonstandard_use=False,
|
||||||
|
contractors=False,
|
||||||
|
other_companies=False,
|
||||||
|
crew_fatigue=False,
|
||||||
|
big_power=True,
|
||||||
|
generators=False,
|
||||||
|
other_companies_power=False,
|
||||||
|
nonstandard_equipment_power=False,
|
||||||
|
multiple_electrical_environments=False,
|
||||||
|
noise_monitoring=False,
|
||||||
|
known_venue=True,
|
||||||
|
safe_loading=True,
|
||||||
|
safe_storage=True,
|
||||||
|
area_outside_of_control=False,
|
||||||
|
barrier_required=False,
|
||||||
|
nonstandard_emergency_procedure=False,
|
||||||
|
special_structures=False,
|
||||||
|
suspended_structures=False,
|
||||||
|
outside=False)
|
||||||
self.page = pages.EventDetail(self.driver, self.live_server_url, event_id=self.testEvent.pk).open()
|
self.page = pages.EventDetail(self.driver, self.live_server_url, event_id=self.testEvent.pk).open()
|
||||||
|
|
||||||
# TODO Can I loop through all the boolean fields and test them at once?
|
# TODO Can I loop through all the boolean fields and test them at once?
|
||||||
@@ -728,9 +755,11 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.page.barrier_required = False
|
self.page.barrier_required = False
|
||||||
self.page.nonstandard_emergency_procedure = False
|
self.page.nonstandard_emergency_procedure = False
|
||||||
self.page.special_structures = False
|
self.page.special_structures = False
|
||||||
self.page.persons_responsible_structures = "Nobody and her cat, She"
|
# self.page.persons_responsible_structures = "Nobody and her cat, She"
|
||||||
|
|
||||||
self.page.suspended_structures = True
|
self.page.suspended_structures = True
|
||||||
|
# TODO Test for this proper
|
||||||
|
self.page.rigging_plan = "https://nottinghamtec.sharepoint.com/test/"
|
||||||
self.page.submit()
|
self.page.submit()
|
||||||
self.assertFalse(self.page.success)
|
self.assertFalse(self.page.success)
|
||||||
|
|
||||||
@@ -757,7 +786,7 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.assertEqual(ra.nonstandard_equipment, nse)
|
self.assertEqual(ra.nonstandard_equipment, nse)
|
||||||
|
|
||||||
def test_ec_create_small(self):
|
def test_ec_create_small(self):
|
||||||
self.page = pages.CreateEventChecklist(self.driver, self.live_server_url, event_id=self.testEvent.pk).open()
|
self.page = pages.CreateEventChecklist(self.driver, self.live_server_url, event_id=self.testEvent2.pk).open()
|
||||||
|
|
||||||
self.page.safe_parking = True
|
self.page.safe_parking = True
|
||||||
self.page.safe_packing = True
|
self.page.safe_packing = True
|
||||||
@@ -772,10 +801,9 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.page.power_mic.toggle()
|
self.page.power_mic.toggle()
|
||||||
self.assertFalse(self.page.power_mic.is_open)
|
self.assertFalse(self.page.power_mic.is_open)
|
||||||
|
|
||||||
self.page.select_size('Small')
|
# Gotta scroll to make the button clickable
|
||||||
self.wait.until(animation_is_finished())
|
self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
|
||||||
self.assertFalse(self.driver.find_element(By.XPATH, '(//*[@id="id_earthing"])[2]').is_displayed())
|
|
||||||
self.assertTrue(self.driver.find_element(By.XPATH, '(//*[@id="id_earthing"])[1]').is_displayed())
|
|
||||||
self.page.earthing = True
|
self.page.earthing = True
|
||||||
self.page.rcds = True
|
self.page.rcds = True
|
||||||
self.page.supply_test = True
|
self.page.supply_test = True
|
||||||
@@ -785,7 +813,7 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.assertTrue(self.page.success)
|
self.assertTrue(self.page.success)
|
||||||
|
|
||||||
def test_ec_create_medium(self):
|
def test_ec_create_medium(self):
|
||||||
self.page = pages.CreateEventChecklist(self.driver, self.live_server_url, event_id=self.testEvent.pk).open()
|
self.page = pages.CreateEventChecklist(self.driver, self.live_server_url, event_id=self.testEvent3.pk).open()
|
||||||
|
|
||||||
self.page.safe_parking = True
|
self.page.safe_parking = True
|
||||||
self.page.safe_packing = True
|
self.page.safe_packing = True
|
||||||
@@ -800,12 +828,11 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.page.power_mic.toggle()
|
self.page.power_mic.toggle()
|
||||||
self.assertFalse(self.page.power_mic.is_open)
|
self.assertFalse(self.page.power_mic.is_open)
|
||||||
|
|
||||||
self.page.select_size('Medium')
|
# Gotta scroll to make the button clickable
|
||||||
self.wait.until(animation_is_finished())
|
self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
|
||||||
self.assertFalse(self.driver.find_element(By.XPATH, '(//*[@id="id_earthing"])[1]').is_displayed())
|
|
||||||
self.assertTrue(self.driver.find_element(By.XPATH, '(//*[@id="id_earthing"])[2]').is_displayed())
|
self.page.earthing = True
|
||||||
self.page.earthing_m = True
|
self.page.pat = True
|
||||||
self.page.pat_m = True
|
|
||||||
self.page.source_rcd = True
|
self.page.source_rcd = True
|
||||||
self.page.labelling = True
|
self.page.labelling = True
|
||||||
self.page.fd_voltage_l1 = 240
|
self.page.fd_voltage_l1 = 240
|
||||||
@@ -819,13 +846,12 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.page.w1_voltage = 240
|
self.page.w1_voltage = 240
|
||||||
self.page.w1_earth_fault = 333
|
self.page.w1_earth_fault = 333
|
||||||
|
|
||||||
# Gotta scroll to make the button clickable
|
|
||||||
self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
|
|
||||||
self.page.submit()
|
self.page.submit()
|
||||||
self.assertTrue(self.page.success)
|
self.assertTrue(self.page.success)
|
||||||
|
|
||||||
def test_ec_create_extras(self):
|
def test_ec_create_extras(self):
|
||||||
self.page = pages.CreateEventChecklist(self.driver, self.live_server_url, event_id=self.testEvent.pk).open()
|
eid = self.testEvent2.pk
|
||||||
|
self.page = pages.CreateEventChecklist(self.driver, self.live_server_url, event_id=eid).open()
|
||||||
self.page.add_vehicle()
|
self.page.add_vehicle()
|
||||||
self.page.add_crew()
|
self.page.add_crew()
|
||||||
|
|
||||||
@@ -859,10 +885,6 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
crew_select.search(crew.name)
|
crew_select.search(crew.name)
|
||||||
self.driver.find_element(By.XPATH, '//*[@name="role_-1"]').send_keys(role)
|
self.driver.find_element(By.XPATH, '//*[@name="role_-1"]').send_keys(role)
|
||||||
|
|
||||||
self.page.select_size('Small')
|
|
||||||
self.wait.until(animation_is_finished())
|
|
||||||
self.assertFalse(self.driver.find_element(By.XPATH, '(//*[@id="id_earthing"])[2]').is_displayed())
|
|
||||||
self.assertTrue(self.driver.find_element(By.XPATH, '(//*[@id="id_earthing"])[1]').is_displayed())
|
|
||||||
self.page.earthing = True
|
self.page.earthing = True
|
||||||
self.page.rcds = True
|
self.page.rcds = True
|
||||||
self.page.supply_test = True
|
self.page.supply_test = True
|
||||||
@@ -871,7 +893,7 @@ class TestHealthAndSafety(BaseRigboardTest):
|
|||||||
self.page.submit()
|
self.page.submit()
|
||||||
self.assertTrue(self.page.success)
|
self.assertTrue(self.page.success)
|
||||||
|
|
||||||
checklist = models.EventChecklist.objects.get(event=self.testEvent.pk)
|
checklist = models.EventChecklist.objects.get(event=eid)
|
||||||
vehicle = models.EventChecklistVehicle.objects.get(checklist=checklist.pk)
|
vehicle = models.EventChecklistVehicle.objects.get(checklist=checklist.pk)
|
||||||
self.assertEqual(vehicle_name, vehicle.vehicle)
|
self.assertEqual(vehicle_name, vehicle.vehicle)
|
||||||
crew_obj = models.EventChecklistCrew.objects.get(checklist=checklist.pk)
|
crew_obj = models.EventChecklistCrew.objects.get(checklist=checklist.pk)
|
||||||
|
|||||||
@@ -512,7 +512,6 @@ class TestHSLogic(TestCase):
|
|||||||
extinguishers_location="Somewhere, I forgot",
|
extinguishers_location="Somewhere, I forgot",
|
||||||
earthing=False,
|
earthing=False,
|
||||||
pat=False,
|
pat=False,
|
||||||
event_size=0,
|
|
||||||
date=timezone.now(),
|
date=timezone.now(),
|
||||||
venue=cls.venue),
|
venue=cls.venue),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user