def setUp(self): super().setUp() self.unit = utils.create_unit() self.group = utils.create_group() for p in Permission.objects.all(): self.group.permissions.add(p) self.user.groups.add(self.group) self.test_list = utils.create_test_list() self.tnum_1 = utils.create_test(name="test1") self.tnum_2 = utils.create_test(name="test2") self.tcomp = utils.create_test(name="testc", test_type=models.COMPOSITE) self.tcomp.calculation_procedure = "result = test1 + test2 + 2" self.tcomp.save() self.tdate = utils.create_test(name="testdate", test_type=models.DATE) self.tdatetime = utils.create_test(name="testdatetime", test_type=models.DATETIME) self.tmult = utils.create_test(name="testmult", choices="choicea,choiceb", test_type=models.MULTIPLE_CHOICE) self.tstring = utils.create_test(name="teststring", test_type=models.STRING) self.tstringcomp = utils.create_test(name="teststringcomp", test_type=models.STRING_COMPOSITE) self.tstringcomp.calculation_procedure = "teststringcomp = teststring + testmult" self.tstringcomp.save() all_tests = [ self.tnum_1, self.tnum_2, self.tcomp, self.tdate, self.tdatetime, self.tmult, self.tstring, self.tstringcomp, ] for o, t in enumerate(all_tests): utils.create_test_list_membership(self.test_list, t, order=o) self.utc = utils.create_unit_test_collection( unit=self.unit, test_collection=self.test_list) self.utc.visible_to.add(self.group) self.url = reverse("perform_qa", kwargs={'pk': self.utc.pk}) self.status = models.TestInstanceStatus.objects.create( name="foo", slug="foo", is_default=True, ) sl_utils.create_service_event_status(is_default=True) sl_utils.create_unit_service_area(self.utc.unit) sl_utils.create_service_type()
def test_delete_returntoserviceqa_variables(self): # unit_test_collection > Cascade # test_list_instance > Set Null # user_assigned_by > Protect # service_event > Cascade sl_utils.create_service_event_status(is_default=True) rtsqa = sl_utils.create_return_to_service_qa() utc = rtsqa.unit_test_collection rtsqa_id = rtsqa.id utc.delete() self.assertFalse( sl_models.ReturnToServiceQA.objects.filter(id=rtsqa_id).exists()) rtsqa = sl_utils.create_return_to_service_qa( add_test_list_instance=True) tli = rtsqa.test_list_instance u = rtsqa.user_assigned_by se = rtsqa.service_event rtsqa_id = rtsqa.id with self.assertRaises(ProtectedError): u.delete() tli.delete() rtsqa = sl_models.ReturnToServiceQA.objects.get(id=rtsqa_id) self.assertEqual(None, rtsqa.test_list_instance) se.delete() self.assertFalse( sl_models.ReturnToServiceQA.objects.filter(id=rtsqa_id).exists())
def test_colours(self): ses_01 = sl_utils.create_service_event_status( colour=settings.DEFAULT_COLOURS[1]) ses_02 = sl_utils.create_service_event_status( colour=settings.DEFAULT_COLOURS[2]) colours = sl_models.ServiceEventStatus.get_colour_dict() self.assertEqual(colours[ses_01.id], settings.DEFAULT_COLOURS[1]) self.assertEqual(colours[ses_02.id], settings.DEFAULT_COLOURS[2])
def test_qa_urls(self): sl_utils.create_service_event_status(is_default=True) qa_utils.create_status(is_default=True) se = sl_utils.create_service_event() u = qa_utils.create_unit() utc = qa_utils.create_unit_test_collection(unit=u) tli = qa_utils.create_test_list_instance(unit_test_collection=utc) url_names_200 = ( ('sl_dash', {}, ''), ('sl_new', {}, ''), ('sl_edit', { 'pk': se.id }, ''), ('sl_details', { 'pk': se.id }, ''), ('sl_list_all', {}, ''), ('rtsqa_list_for_event', { 'se_pk': se.id }, ''), ('se_searcher', {}, '?q=%d&unit_id=%d' % (se.id, u.id)), ('tli_select', { 'pk': utc.id, 'form': 'a_form' }, ''), ('tli_statuses', {}, '?tli_id=%d' % tli.id), ('unit_sa_utc', {}, '?unit_id=%d' % u.id), ('err', {}, ''), ('sl_unit_new', {}, ''), ('sl_unit_view_se', {}, ''), ('se_down_time', {}, ''), ('handle_unit_down_time', {}, ''), ) url_names_404 = ( # Test urls that expect kwargs when not given any # (reverse should render url for use in templates, but return 404) ('sl_details', {}, ''), ('tli_select', {}, ''), ('se_searcher', {}, ''), ('tli_statuses', {}, ''), ('unit_sa_utc', {}, ''), ) for url, kwargs, q in url_names_200: self.assertTrue(self.returns_code(reverse(url, kwargs=kwargs) + q)) for url, kwargs, q in url_names_404: self.assertTrue( self.returns_code(reverse(url, kwargs=kwargs) + q, code=404))
def test_delete_serviceevent_variables(self): # unit_service_area > Protect # service_type > Protect # service_status > Protect # user_status_changed_by > Protect # user_created_by > Protect # user_modified_by > Protect # test_list_instance_initiated_by > Set Null sl_utils.create_service_event_status(is_default=True) ses = sl_utils.create_service_event_status() se = sl_utils.create_service_event( add_test_list_instance_initiated_by=True, service_status=ses) se.user_status_changed_by = create_user() se.user_modified_by = create_user() se.save() se_id = se.id usa = se.unit_service_area st = se.service_type u_scb = se.user_status_changed_by u_cb = se.user_created_by u_mb = se.user_modified_by tli = se.test_list_instance_initiated_by with self.assertRaises(ProtectedError): usa.delete() with self.assertRaises(ProtectedError): st.delete() with self.assertRaises(ProtectedError): ses.delete() with self.assertRaises(ProtectedError): u_scb.delete() with self.assertRaises(ProtectedError): u_cb.delete() with self.assertRaises(ProtectedError): u_mb.delete() tli.delete() se = sl_models.ServiceEvent.objects.get(id=se_id) self.assertEqual(None, se.test_list_instance_initiated_by)
def test_unreviewed_rtsqa(self): ses_approved = sl_utils.create_service_event_status( name='Approved', is_review_required=False, rts_qa_must_be_reviewed=True) test_status = qa_utils.create_status() tl = qa_utils.create_test_list() t = qa_utils.create_test() qa_utils.create_test_list_membership(tl, t) tli_unreviewed = qa_utils.create_test_list_instance(test_list=tl) qa_utils.create_test_instance( tli_unreviewed, unit_test_info=qa_utils.create_unit_test_info(unit=self.u_1), status=test_status) data = { 'datetime_service': format_datetime(timezone.now()), 'unit_field': self.u_1.id, 'service_area_field': self.sa_1.id, 'service_type': self.st.id, 'problem_description': 'problem', 'service_status': ses_approved.id, 'hours-INITIAL_FORMS': 0, 'hours-MAX_NUM_FORMS': 1000, 'hours-TOTAL_FORMS': 0, 'hours-MIN_NUM_FORMS': 0, 'parts-INITIAL_FORMS': 0, 'parts-MAX_NUM_FORMS': 1000, 'parts-TOTAL_FORMS': 0, 'parts-MIN_NUM_FORMS': 0, 'rtsqa-INITIAL_FORMS': 0, 'rtsqa-MAX_NUM_FORMS': 1000, 'rtsqa-TOTAL_FORMS': 1, 'rtsqa-MIN_NUM_FORMS': 0, 'rtsqa-0-all_reviewed': tli_unreviewed.all_reviewed, 'rtsqa-0-unit_test_collection': tli_unreviewed.unit_test_collection.id, 'rtsqa-0-test_list_instance': tli_unreviewed.id, 'rtsqa-0-id': '', } response = self.client.post(self.url, data=data) self.assertTrue( 'service_status' in response.context_data['form'].errors) data['rtsqa-0-all_reviewed'] = '' data['rtsqa-0-test_list_instance'] = '' response = self.client.post(self.url, data=data) self.assertTrue( 'service_status' in response.context_data['form'].errors)
def create_objects(self): se_requires_review = sl_utils.create_service_event( is_review_required=True) ses_default = sl_utils.create_service_event_status(is_default=True) se_default_status = sl_utils.create_service_event( service_status=ses_default) sl_utils.create_return_to_service_qa( add_test_list_instance=True) # qa_not_reviewed +1 sl_utils.create_return_to_service_qa() # qa_not_complete +1 sl_utils.create_return_to_service_qa( service_event=se_requires_review ) # se_needing_review +1, qa_not_complete +1 sl_utils.create_return_to_service_qa( service_event=se_default_status ) # se_default +1, qa_not_complete +1 self.user = create_user(is_superuser=True, uname='person')
def setUp(self): self.ses = sl_utils.create_service_event_status()
def setUp(self): self.factory = RequestFactory() self.view = views.UpdateServiceEvent.as_view() self.default_ses = sl_utils.create_service_event_status( is_default=True) self.approved_ses = sl_utils.create_service_event_status( is_review_required=False, rts_qa_must_be_reviewed=True) sl_utils.create_service_event_status() qa_utils.create_status(is_default=True) now = timezone.now() self.u_1 = qa_utils.create_unit(name='u_1') self.sa_1 = sl_utils.create_service_area(name='sa_1') self.usa_1 = sl_utils.create_unit_service_area(unit=self.u_1, service_area=self.sa_1) self.tl_1 = qa_utils.create_test_list(name='tl_1') self.tli_1_1 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_1, test_collection=self.tl_1), test_list=self.tl_1, work_completed=now - timezone.timedelta(hours=1)) self.tli_1_2 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_1, test_collection=self.tl_1), test_list=self.tl_1, work_completed=now) self.se_1 = sl_utils.create_service_event(unit_service_area=self.usa_1) self.u_2 = qa_utils.create_unit(name='u_2') self.sa_2 = sl_utils.create_service_area(name='sa_2') self.usa_2 = sl_utils.create_unit_service_area(unit=self.u_2, service_area=self.sa_2) self.tl_2 = qa_utils.create_test_list(name='tl_2') self.tli_2_1 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_2, test_collection=self.tl_2), test_list=self.tl_2, work_completed=now - timezone.timedelta(hours=1)) self.tli_2_2 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_2, test_collection=self.tl_2), test_list=self.tl_2, work_completed=now) self.se_2 = sl_utils.create_service_event(unit_service_area=self.usa_2) self.url = reverse('sl_new') self.user = create_user(is_superuser=True) self.client.login(username='******', password='******') perm = Permission.objects.get(codename='can_have_hours') user_can_hours = User.objects.get(username='******') user_can_hours.user_permissions.add(perm) user_group_has_hours = create_user(uname='in_group_with_hours') group_has_hours = create_group(name='can_have_hours') group_has_hours.permissions.add(perm) user_group_has_hours.groups.add(group_has_hours) sl_utils.create_third_party() group_linked = create_group(name='linked') user_group_linked = create_user(uname='user_in_group_linked') user_group_linked.groups.add(group_linked) self.gl_1 = sl_utils.create_group_linker(group=group_linked) self.part = sl_utils.create_part(add_storage=True) self.st = sl_utils.create_service_type() self.se = sl_utils.create_service_event( unit_service_area=self.usa_1, service_status=self.default_ses, service_type=self.st) self.url = reverse('sl_edit', kwargs={"pk": self.se.pk}) self.data = { 'datetime_service': format_datetime(timezone.now()), 'service_status': self.default_ses.id, 'service_type': self.st.id, 'is_review_required': 0, 'safety_precautions': 'safety_precautions', 'problem_description': 'problem_description', 'service_area_field': self.se.unit_service_area.service_area.id, 'unit_field': self.se.unit_service_area.unit.id, 'unit_field_fake': self.se.unit_service_area.unit.id, 'qafollowup_notes': 'qafollowup_notes', 'test_list_instance_initiated_by': self.tli_1_1.id, 'duration_lost_time': '0100', 'duration_service_time': '0100', 'hours-INITIAL_FORMS': 0, 'hours-MAX_NUM_FORMS': 1000, 'hours-TOTAL_FORMS': 0, 'hours-MIN_NUM_FORMS': 0, 'parts-INITIAL_FORMS': 0, 'parts-MAX_NUM_FORMS': 1000, 'parts-TOTAL_FORMS': 0, 'parts-MIN_NUM_FORMS': 0, 'rtsqa-INITIAL_FORMS': 0, 'rtsqa-MAX_NUM_FORMS': 1000, 'rtsqa-TOTAL_FORMS': 0, 'rtsqa-MIN_NUM_FORMS': 0, }
def setUp(self): self.factory = RequestFactory() self.view = views.CreateServiceEvent.as_view() self.default_ses = sl_utils.create_service_event_status( is_default=True) sl_utils.create_service_event_status() qa_utils.create_status(is_default=True) now = timezone.now() self.u_1 = qa_utils.create_unit(name='u_1') self.sa_1 = sl_utils.create_service_area(name='sa_1') self.usa_1 = sl_utils.create_unit_service_area(unit=self.u_1, service_area=self.sa_1) self.tl_1 = qa_utils.create_test_list(name='tl_1') self.tli_1_1 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_1, test_collection=self.tl_1), test_list=self.tl_1, work_completed=now - timezone.timedelta(hours=1)) self.tli_1_2 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_1, test_collection=self.tl_1), test_list=self.tl_1, work_completed=now) self.se_1 = sl_utils.create_service_event(unit_service_area=self.usa_1) self.u_2 = qa_utils.create_unit(name='u_2') self.sa_2 = sl_utils.create_service_area(name='sa_2') self.usa_2 = sl_utils.create_unit_service_area(unit=self.u_2, service_area=self.sa_2) self.tl_2 = qa_utils.create_test_list(name='tl_2') self.tli_2_1 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_2, test_collection=self.tl_2), test_list=self.tl_2, work_completed=now - timezone.timedelta(hours=1)) self.tli_2_2 = qa_utils.create_test_list_instance( unit_test_collection=qa_utils.create_unit_test_collection( unit=self.u_2, test_collection=self.tl_2), test_list=self.tl_2, work_completed=now) self.se_2 = sl_utils.create_service_event(unit_service_area=self.usa_2) self.url = reverse('sl_new') self.url_delete = reverse('se_delete') self.user = create_user(is_superuser=True) self.client.login(username='******', password='******') perm = Permission.objects.get(codename='can_have_hours') user_can_hours = User.objects.get(username='******') user_can_hours.user_permissions.add(perm) user_group_has_hours = create_user(uname='in_group_with_hours') group_has_hours = create_group(name='can_have_hours') group_has_hours.permissions.add(perm) user_group_has_hours.groups.add(group_has_hours) sl_utils.create_third_party() group_linked = create_group(name='linked') user_group_linked = create_user(uname='user_in_group_linked') user_group_linked.groups.add(group_linked) self.gl_1 = sl_utils.create_group_linker(group=group_linked) self.part = sl_utils.create_part(add_storage=True) self.st = sl_utils.create_service_type() self.sto = sl_utils.create_storage(quantity=2)