Example #1
0
    def test_with_rts_and_service_type(self):
        """If we filter for a unit, and service type, the searcher should only return
        templates where the return to service test lists are all
        assigned to that unit and the template has the correct service_type."""

        st = sl_utils.create_service_type()
        tl1 = qa_utils.create_test_list()
        tl2 = qa_utils.create_test_list()
        u1 = qa_utils.create_unit()
        qa_utils.create_unit_test_collection(unit=u1, test_collection=tl1)

        # one template with RTS that is assigned to the unit
        t1 = self.create_template("1", service_type=st)
        t1.return_to_service_test_lists.add(tl1)

        # one template with RTS that is not assigned to the unit
        t2 = self.create_template("2", service_type=st)
        t2.return_to_service_test_lists.add(tl2)

        # one template with no RTS and correct service_type
        t3 = self.create_template("3", service_type=st)

        # one template with no RTS and no service_type
        self.create_template("4")

        resp = self.client.get(self.url,
                               data={
                                   'unit': u1.pk,
                                   'service_type': st.pk
                               })
        data = resp.json()
        assert len(data) == 2
        assert [t['id'] for t in data] == [t1.id, t3.id]
Example #2
0
    def test_with_rts(self):
        """If we filter for a unit, the searcher should only return
        templates where the return to service test lists are all
        assigned to that unit."""

        tl1 = qa_utils.create_test_list()
        tl2 = qa_utils.create_test_list()
        u1 = qa_utils.create_unit()
        qa_utils.create_unit_test_collection(unit=u1, test_collection=tl1)

        # one template with RTS that is assigned to the unit
        t1 = self.create_template("1")
        t1.return_to_service_test_lists.add(tl1)

        # one template with RTS that is not assigned to the unit
        t2 = self.create_template("2")
        t2.return_to_service_test_lists.add(tl2)

        # one template with not RTS
        t3 = self.create_template("3")

        resp = self.client.get(self.url, data={'unit': u1.pk})
        data = resp.json()
        assert len(data) == 2
        assert [t['id'] for t in data] == [t1.id, t3.id]
Example #3
0
    def setUp(self):

        self.tests = []

        self.ref = models.Reference(type=models.NUMERICAL, value=100.)
        self.tol = models.Tolerance(type=models.PERCENT,
                                    act_low=-3,
                                    tol_low=-2,
                                    tol_high=2,
                                    act_high=3)
        self.values = [None, None, 96, 97, 100, 100]

        self.statuses = [
            utils.create_status(name="status%d" % x, slug="status%d" % x)
            for x in range(len(self.values))
        ]

        self.test_list = utils.create_test_list()
        for i in range(6):
            test = utils.create_test(name="name%d" % i)
            self.tests.append(test)
            utils.create_test_list_membership(self.test_list, test)

        self.unit_test_collection = utils.create_unit_test_collection(
            test_collection=self.test_list)

        self.test_list_instance = self.create_test_list_instance()

        self.group = models.Group.objects.get(pk=1)
        user = models.User.objects.get(pk=1)
        user.groups.add(self.group)
        user.email = "*****@*****.**"
        user.save()
Example #4
0
    def setUp(self):

        self.tests = []

        self.ref = models.Reference(type=models.NUMERICAL, value=100.)
        self.tol = models.Tolerance(type=models.PERCENT, act_low=-3, tol_low=-2, tol_high=2, act_high=3)
        self.values = [None, None, 96, 97, 100, 100]

        self.statuses = [utils.create_status(name="status%d" % x, slug="status%d" % x) for x in range(len(self.values))]

        self.test_list = utils.create_test_list()
        for i in range(6):
            test = utils.create_test(name="name%d" % i)
            self.tests.append(test)
            utils.create_test_list_membership(self.test_list, test)

        self.unit_test_collection = utils.create_unit_test_collection(test_collection=self.test_list)

        self.test_list_instance = self.create_test_list_instance()

        self.group = models.Group.objects.get(pk=1)
        user = models.User.objects.get(pk=1)
        user.groups.add(self.group)
        user.email = "*****@*****.**"
        user.save()
Example #5
0
    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()
Example #6
0
    def test_admin_set_ref_tols(self):

        utils.create_tolerance(tol_type=models.MULTIPLE_CHOICE,
                               mc_pass_choices="a,b")

        utils.create_tolerance()

        for the_test in objects['Tests']:

            if the_test['test_type'] == models.MULTIPLE_CHOICE:
                if not utils.exists('qa', 'Test', 'name', the_test['name']):
                    mult_test = utils.create_test(
                        test_type=models.MULTIPLE_CHOICE,
                        choices=the_test['choices'],
                        name=the_test['name'])
            elif the_test['test_type'] == models.SIMPLE:
                if not utils.exists('qa', 'Test', 'name', the_test['name']):
                    simp_test = utils.create_test(test_type=models.SIMPLE,
                                                  name=the_test['name'])
            elif the_test['test_type'] == models.COMPOSITE:
                if not utils.exists('qa', 'Test', 'name', the_test['name']):
                    comp_test = utils.create_test(test_type=models.COMPOSITE,
                                                  name=the_test['name'])

        if not utils.exists('qa', 'TestList', 'name',
                            objects['TestList']['name']):
            test_list = utils.create_test_list(objects['TestList']['name'])
            utils.create_test_list_membership(test_list=test_list,
                                              test=mult_test)
            utils.create_test_list_membership(test_list=test_list,
                                              test=simp_test)
            utils.create_test_list_membership(test_list=test_list,
                                              test=comp_test)

        utils.create_unit_test_collection(test_collection=test_list)

        self.load_admin()
        self.click_by_link_text('Set References & Tolerances')
        self.click_by_link_text(mult_test.name)
        self.wait.until(
            e_c.presence_of_element_located((By.ID, 'id_tolerance')))
        self.select_by_index("id_tolerance", 1)
        self.driver.find_element_by_name('_save').click()
        self.wait_for_success()

        self.driver.find_element_by_link_text('simple').click()
        self.select_by_index("id_tolerance", 1)
        self.driver.find_element_by_id('id_reference_value').send_keys('0')
        self.driver.find_element_by_name('_save').click()
        self.wait_for_success()

        self.driver.find_element_by_link_text('composite').click()
        self.select_by_index("id_tolerance", 1)
        self.driver.find_element_by_id('id_reference_value').send_keys('23.23')
        self.driver.find_element_by_name('_save').click()
        self.wait_for_success()
Example #7
0
    def test_load_autosave(self):
        """Ensure that no failed tests on load and 3 "NO TOL" tests present"""

        tl2 = utils.create_test_list(name="day 2")
        utils.create_test_list_membership(tl2, test=self.tnum_1)
        cycle = utils.create_cycle([self.test_list, tl2])
        utc = utils.create_unit_test_collection(
            unit=self.utc.unit,
            test_collection=cycle,
            assigned_to=self.utc.assigned_to)

        tz = timezone.get_current_timezone()
        auto = models.AutoSave.objects.create(
            unit_test_collection=utc,
            test_list=tl2,
            day=1,
            work_started=tz.localize(timezone.datetime(1980, 5, 12, 12)),
            work_completed=tz.localize(timezone.datetime(1980, 5, 12, 12, 1)),
            created_by=self.user,
            modified_by=self.user,
            data={
                'tests': {
                    'test1': 1,
                },
                'comments': {
                    'test1': 'test comment',
                },
                'skips': {
                    'test1': False,
                },
                'tli_comment': 'test list instance comment'
            })

        self.login()

        url = reverse("perform_qa", kwargs={'pk': utc.pk})
        self.open(url + "?autosave_id=%d&day=%d" % (auto.pk, auto.day + 1))
        time.sleep(0.2)

        inputs = self.driver.find_elements_by_class_name("qa-input")[:3]
        title = "Perform %s : day 2" % utc.unit.name
        assert title in [
            el.text
            for el in self.driver.find_elements_by_class_name("box-title")
        ]
        assert float(inputs[0].get_attribute("value")) == 1
        assert self.driver.find_element_by_id("id_work_started").get_attribute(
            "value") == "12 May 1980 12:00"
        assert self.driver.find_element_by_id(
            "id_work_completed").get_attribute("value") == "12 May 1980 12:01"
        assert self.driver.find_element_by_id(
            "id_work_duration").get_attribute("value") == "0hr:01min"
        assert self.driver.find_element_by_id(
            "id_form-0-comment").get_attribute("value") == "test comment"
        assert self.driver.find_element_by_id("id_comment").get_attribute(
            "value") == "test list instance comment"
Example #8
0
    def setUp(self):
        self.user = create_user(is_superuser=True, uname='user', pwd='pwd')
        self.client.login(username='******', password='******')

        self.u_1 = qa_utils.create_unit()
        self.u_2 = qa_utils.create_unit()
        self.f_1 = qa_utils.create_frequency()
        self.f_2 = qa_utils.create_frequency()
        self.tl_1 = qa_utils.create_test_list()
        self.tl_2 = qa_utils.create_test_list()
        self.t_1 = qa_utils.create_test()
        self.t_2 = qa_utils.create_test()
        qa_utils.create_test_list_membership(test_list=self.tl_1, test=self.t_1)
        qa_utils.create_test_list_membership(test_list=self.tl_1, test=self.t_2)

        self.g_1 = create_group()
        self.g_2 = create_group()

        self.tl_ct = ContentType.objects.get(model='testlist')
        self.tlc_ct = ContentType.objects.get(model='testlistcycle')
        self.utc_1 = qa_utils.create_unit_test_collection(
            unit=self.u_1, test_collection=self.tl_1, assigned_to=self.g_1, frequency=self.f_1
        )
        self.utc_2 = qa_utils.create_unit_test_collection(
            unit=self.u_2, active=False, assigned_to=self.g_2, frequency=self.f_2
        )

        self.url_list = reverse(
            'admin:%s_%s_changelist' % (
                qa_models.UnitTestCollection._meta.app_label, qa_models.UnitTestCollection._meta.model_name
            )
        )
        self.url_add = reverse(
            'admin:%s_%s_add' % (
                qa_models.UnitTestCollection._meta.app_label, qa_models.UnitTestCollection._meta.model_name
            )
        )
        self.url_change = reverse(
            'admin:%s_%s_change' % (
                qa_models.UnitTestCollection._meta.app_label, qa_models.UnitTestCollection._meta.model_name
            ),
            args=[self.utc_1.id]
        )
Example #9
0
    def setUp(self):

        self.user = utils.create_user()
        self.tl1 = utils.create_test_list("tl1 é")
        self.tl2 = utils.create_test_list("tl2")
        self.tl3 = utils.create_test_list("tl3")
        self.tlc = utils.create_cycle([self.tl1, self.tl2])
        self.t1 = utils.create_test("t1")
        self.t2 = utils.create_test("t2")
        self.t3 = utils.create_test("t3")
        self.t4 = utils.create_test("t4")
        utils.create_test_list_membership(self.tl1, self.t1)
        utils.create_test_list_membership(self.tl2, self.t2)
        utils.create_test_list_membership(self.tl3, self.t3)
        utils.create_test_list_membership(self.tl3, self.t1)

        self.tlqs = models.TestList.objects.filter(pk=self.tl3.pk)
        self.tlcqs = models.TestListCycle.objects.filter(pk=self.tlc.pk)
        self.extra = models.Test.objects.filter(pk=self.t4.pk)
Example #10
0
    def setUp(self):

        self.tests = []

        self.ref = models.Reference(type=models.NUMERICAL, value=100.)
        self.tol = models.Tolerance(type=models.PERCENT,
                                    act_low=-3,
                                    tol_low=-2,
                                    tol_high=2,
                                    act_high=3)
        self.ref.created_by = utils.create_user()
        self.tol.created_by = utils.create_user()
        self.ref.modified_by = utils.create_user()
        self.tol.modified_by = utils.create_user()
        self.values = [None, None, 96, 97, 100, 100]

        self.statuses = [
            utils.create_status(name="status%d" % x, slug="status%d" % x)
            for x in range(len(self.values))
        ]

        self.test_list = utils.create_test_list()
        for i in range(6):
            test = utils.create_test(name="name%d" % i)
            self.tests.append(test)
            utils.create_test_list_membership(self.test_list, test)

        self.testlist_group = TestListGroup.objects.create(name="test group")
        self.testlist_group.test_lists.add(self.test_list)

        self.unit_test_collection = utils.create_unit_test_collection(
            test_collection=self.test_list)

        self.unit_group = UnitGroup.objects.create(name="test group")
        self.unit_group.units.add(self.unit_test_collection.unit)

        self.test_list_instance = self.create_test_list_instance()

        self.group = models.Group.objects.latest('pk')
        user = models.User.objects.latest('pk')
        user.groups.add(self.group)
        user.email = "*****@*****.**"
        user.save()

        self.recipients = RecipientGroup.objects.create(name="test group")
        self.recipients.groups.add(self.group)

        self.inactive_user = models.User.objects.create_user(
            'inactive', '*****@*****.**', 'password')
        self.inactive_user.groups.add(self.group)
        self.inactive_user.is_active = False
        self.inactive_user.save()

        # delete defaults schedules to make counting easier
        Schedule.objects.all().delete()
Example #11
0
    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)
Example #12
0
 def test_sublist_nesting_parent(self):
     """Shouldn't be able to add a sublist that has a sublist of its own"""
     tl = qa_utils.create_test_list(name="sub")
     qa_utils.create_sublist(parent_test_list=self.sublist.child, child_test_list=tl)
     data = self.data
     formset = inlineformset_factory(
         qa_models.TestList, qa_models.Sublist, formset=qa_admin.SublistInlineFormSet, fk_name='parent',
         fields='__all__'
     )(data=data, queryset=qa_models.Sublist.objects.all(), instance=None)
     assert not formset.is_valid()
     assert "Test Lists can not be nested more than 1 level" in formset.non_form_errors()[0]
Example #13
0
 def test_get_testlists(self):
     tl = utils.create_test_list(name="TL")
     rg = RecipientGroup.objects.create(name="RG")
     tlg = TestListGroup.objects.create(name="TLG")
     tlg.test_lists.add(tl)
     n = QCCompletedNotice.objects.create(
         notification_type=QCCompletedNotice.TOLERANCE,
         recipients=rg,
         test_lists=tlg,
     )
     assert tlg.name in self.admin.get_testlists(n)
Example #14
0
 def test_get_testlists(self):
     tl = utils.create_test_list(name="TL")
     rg = RecipientGroup.objects.create(name="RG")
     tlg = TestListGroup.objects.create(name="TLG")
     tlg.test_lists.add(tl)
     n = QCReviewNotice.objects.create(
         notification_type=QCReviewNotice.UNREVIEWED,
         recipients=rg,
         test_lists=tlg,
         time="0:00",
     )
     assert tlg.name in self.admin.get_testlists(n)
Example #15
0
    def test_admin_unittestcollection(self):

        if not utils.exists('auth', 'Group', 'name', objects['Group']['name']):
            create_group(name=objects['Group']['name'])

        if not utils.exists('units', 'Unit', 'name',
                            objects['Modality']['name']):
            utils.create_unit(name=objects['Modality']['name'],
                              number=objects['Unit']['number'])

        if not utils.exists('qa', 'Frequency', 'name',
                            objects['Frequency']['name']):
            utils.create_frequency(name=objects['Frequency']['name'])

        if not utils.exists('qa', 'TestList', 'name',
                            objects['TestList']['name']):
            utils.create_test_list(name=objects['TestList']['name'])

        self.load_admin()
        self.click_by_link_text("Assign Test Lists to Units")
        self.click_by_link_text('ADD UNIT TEST COLLECTION')
        self.wait.until(e_c.presence_of_element_located((By.ID, 'id_unit')))

        self.select_by_index("id_unit", 1)
        self.select_by_index("id_frequency", 1)
        self.select_by_index("id_assigned_to", 0)
        self.select_by_index("id_content_type", 1)
        self.driver.find_element_by_css_selector(
            '#id_visible_to_from > option:nth-child(1)').click()
        self.driver.find_element_by_css_selector(
            '#id_visible_to_add_link').click()

        time.sleep(2)

        self.driver.find_element_by_id(
            'select2-generic_object_id-container').click()
        self.driver.find_element_by_id(
            'select2-generic_object_id-container').click()
        self.driver.find_element_by_name('_save').click()
        self.wait_for_success()
Example #16
0
    def setUp(self):

        create_user(is_superuser=True, uname='user', pwd='pwd')
        self.client.login(username='******', password='******')

        self.url = reverse('qa_copy_refs_and_tols')

        self.tl_1 = qa_utils.create_test_list()
        self.tl_2 = qa_utils.create_test_list()
        self.tl_3 = qa_utils.create_test_list()
        self.tl_fc_1 = qa_utils.create_test_list(name='for_cycle_1')
        self.tl_fc_2 = qa_utils.create_test_list(name='for_cycle_2')
        self.tl_fc_3 = qa_utils.create_test_list(name='for_cycle_3')
        self.tlc_1 = qa_utils.create_cycle(test_lists=[self.tl_fc_1, self.tl_fc_2, self.tl_fc_3])
        self.tlc_2 = qa_utils.create_cycle(test_lists=[self.tl_fc_1, self.tl_fc_2])

        self.u_1 = qa_utils.create_unit()
        self.u_2 = qa_utils.create_unit()

        test = qa_utils.create_test()

        self.tlm_1 = qa_utils.create_test_list_membership(test_list=self.tl_1, test=test)
        self.tlm_2 = qa_utils.create_test_list_membership(test_list=self.tl_2, test=test)

        self.utc_1 = qa_utils.create_unit_test_collection(unit=self.u_1, test_collection=self.tl_1)
        self.utc_2 = qa_utils.create_unit_test_collection(unit=self.u_2, test_collection=self.tl_2)

        self.uti_1, _ = qa_models.UnitTestInfo.objects.get_or_create(unit=self.u_1, test=test)
        self.uti_1.reference = qa_utils.create_reference()
        self.uti_1.tolerance = qa_utils.create_tolerance()
        self.uti_1.save()

        self.uti_2, _ = qa_models.UnitTestInfo.objects.get_or_create(unit=self.u_2, test=test)
Example #17
0
 def test_sublist_nesting_child(self):
     """Shouldn't be able to add a sublist when you are a sublist"""
     tl = qa_utils.create_test_list(name="sub")
     data = self.data
     data['children-0-child'] = tl.id
     formset = inlineformset_factory(
         qa_models.TestList,
         qa_models.Sublist,
         formset=qa_admin.SublistInlineFormSet,
         fk_name='parent',
         fields='__all__'
     )(data=data, queryset=qa_models.Sublist.objects.all(), instance=self.sublist.child)
     assert not formset.is_valid()
     assert "This Test List is a Sublist" in formset.non_form_errors()[0]
Example #18
0
    def setUp(self):

        create_user(is_superuser=True, uname='user', pwd='pwd')
        self.client.login(username='******', password='******')

        self.u = qa_utils.create_unit()

        tl1 = qa_utils.create_test_list()
        tl2 = qa_utils.create_test_list()
        tl3 = qa_utils.create_test_list()

        qa_utils.create_unit_test_collection(unit=self.u, test_collection=tl1)
        qa_utils.create_unit_test_collection(unit=self.u, test_collection=tl2)
        qa_utils.create_unit_test_collection(unit=self.u, test_collection=tl3)

        tlc1 = qa_utils.create_cycle(test_lists=[tl1, tl2, tl3])

        qa_utils.create_unit_test_collection(unit=self.u, test_collection=tlc1)

        self.url_tl = reverse(
            'qa_copy_refs_and_tols_testlist_json', kwargs={
                'source_unit': self.u.id, 'content_type': qa_models.TestList.__name__.lower()
            }
        )
        self.url_tlc = reverse(
            'qa_copy_refs_and_tols_testlist_json', kwargs={
                'source_unit': self.u.id, 'content_type': qa_models.TestListCycle.__name__.lower()
            })
        self.url_bad = reverse(
            'qa_copy_refs_and_tols_testlist_json', kwargs={
                'source_unit': self.u.id, 'content_type': qa_models.Test.__name__.lower()
            }
        )

        self.tl_ct = ContentType.objects.get(model='testlist')
        self.tlc_ct = ContentType.objects.get(model='testlistcycle')
Example #19
0
    def test_email_not_sent_for_diff_testlist(self):

        new_test_list = utils.create_test_list()
        test = utils.create_test(name="new tl name")
        utils.create_test_list_membership(new_test_list, test)
        utc = utils.create_unit_test_collection(
            unit=self.unit_test_collection.unit, test_collection=new_test_list)

        QCCompletedNotice.objects.create(
            notification_type=QCCompletedNotice.COMPLETED,
            recipients=self.recipients,
            test_lists=self.testlist_group,
        )
        tli = self.create_test_list_instance(utc=utc)

        signals.testlist_complete.send(sender=self, instance=tli, created=True)
        assert len(mail.outbox) == 0
Example #20
0
 def test_sublist(self):
     tl5 = utils.create_test_list("tl5")
     t5 = utils.create_test("t5")
     utils.create_test_list_membership(tl5, t5, order=0)
     utils.create_sublist(tl5, self.tl1, order=2)
     utils.create_sublist(tl5, self.tl2, order=3)
     pack = json.dumps(
         testpack.create_testpack(test_lists=models.TestList.objects.filter(
             pk=tl5.pk)))
     models.TestList.objects.all().delete()
     models.Test.objects.all().delete()
     assert models.Sublist.objects.count() == 0
     testpack.add_testpack(pack, test_list_keys=[tl5.natural_key()])
     assert models.Sublist.objects.count() == 2
     assert models.TestListMembership.objects.count() == 3
     for sl in models.Sublist.objects.all():
         assert sl.child.testlistmembership_set.count() == 1
     assert models.TestList.objects.count() == 3
     assert models.TestList.objects.get(name="tl5")
Example #21
0
    def test_submit_autosave(self):
        """Ensure that no failed tests on load and 3 "NO TOL" tests present"""

        tl2 = utils.create_test_list(name="day 2")
        utils.create_test_list_membership(tl2, test=self.tnum_1)
        cycle = utils.create_cycle([self.test_list, tl2])
        utc = utils.create_unit_test_collection(
            unit=self.utc.unit,
            test_collection=cycle,
            assigned_to=self.utc.assigned_to)

        tz = timezone.get_current_timezone()
        auto = models.AutoSave.objects.create(
            unit_test_collection=utc,
            test_list=tl2,
            day=1,
            work_started=tz.localize(timezone.datetime(1980, 5, 12, 12)),
            work_completed=tz.localize(timezone.datetime(1980, 5, 12, 12, 1)),
            created_by=self.user,
            modified_by=self.user,
            data={
                'tests': {
                    'test1': 1,
                },
                'comments': {
                    'test1': 'test comment',
                },
                'skips': {
                    'test1': False,
                },
                'tli_comment': 'test list instance comment'
            })

        self.login()

        url = reverse("perform_qa", kwargs={'pk': utc.pk})
        self.open(url + "?autosave_id=%d&day=%d" % (auto.pk, auto.day + 1))
        time.sleep(0.2)

        self.click("submit-qa")

        assert models.AutoSave.objects.filter(pk=auto.pk).count() == 0
Example #22
0
    def setUp(self):
        self.user = create_user(is_superuser=True, uname='user', pwd='pwd')
        self.client.login(username='******', password='******')

        self.c_1 = qa_utils.create_category()
        self.t_1 = qa_utils.create_test()
        self.tl_1 = qa_utils.create_test_list()
        qa_utils.create_test_list_membership(test=self.t_1, test_list=self.tl_1)
        self.tli_1 = qa_utils.create_test_list_instance(test_list=self.tl_1)
        self.ti_1 = qa_utils.create_test_instance(
            test_list_instance=self.tli_1, unit_test_info=qa_utils.create_unit_test_info(test=self.t_1), value=1
        )

        self.url_add = reverse(
            'admin:%s_%s_add' % (qa_models.Test._meta.app_label, qa_models.Test._meta.model_name)
        )
        self.url_list = reverse(
            'admin:%s_%s_changelist' % (qa_models.Test._meta.app_label, qa_models.Test._meta.model_name)
        )
        self.url_change = reverse(
            'admin:%s_%s_change' % (qa_models.Test._meta.app_label, qa_models.Test._meta.model_name),
            args=[self.t_1.id]
        )

        self.data = {
            'procedure': '',
            'category': self.c_1.id,
            'attachment_set-MIN_NUM_FORMS': 0,
            'attachment_set-INITIAL_FORMS': 0,
            'attachment_set-MAX_NUM_FORMS': 0,
            'attachment_set-TOTAL_FORMS': 0,
            'chart_visibility': 'on',
            'constant_value': '',
            'description': '',
            'slug': '',
            'type': 'simple',
            'calculation_procedure': '',
            'choices': '',
            'name': ''
        }
Example #23
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)
Example #24
0
    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,
        }
Example #25
0
    def setUp(self):
        self.user = create_user(is_superuser=True, uname='user', pwd='pwd')
        self.client.login(username='******', password='******')

        self.t_1 = qa_utils.create_test()
        self.t_2 = qa_utils.create_test()
        self.u_1 = qa_utils.create_unit()
        self.f_1 = qa_utils.create_frequency()
        self.tl_1 = qa_utils.create_test_list()
        self.utc_1 = qa_utils.create_unit_test_collection(test_collection=self.tl_1, unit=self.u_1)
        self.utc_2 = qa_utils.create_unit_test_collection(test_collection=self.tl_1, frequency=self.f_1)

        qa_utils.create_test_list_membership(test_list=self.tl_1, test=self.t_2, order=0)

        self.sublist = qa_utils.create_sublist(parent_test_list=self.tl_1)

        self.url_add = reverse(
            'admin:%s_%s_add' % (qa_models.TestList._meta.app_label, qa_models.TestList._meta.model_name)
        )
        self.url_list = reverse(
            'admin:%s_%s_changelist' % (qa_models.TestList._meta.app_label, qa_models.TestList._meta.model_name)
        )
        self.url_change = reverse(
            'admin:%s_%s_change' % (qa_models.TestList._meta.app_label, qa_models.TestList._meta.model_name),
            args=[self.tl_1.id]
        )

        self.data = {
            'name': 'testing_sublists',
            'warning_message': 'erroR',
            'javascript': 'alert("subs!")',
            'slug': 'testing_sublists',
            'description': 'description',

            'attachment_set-MAX_NUM_FORMS': 10,
            'attachment_set-INITIAL_FORMS': 0,
            'attachment_set-MIN_NUM_FORMS': 0,
            'attachment_set-TOTAL_FORMS': 1,
            'attachment_set-0-testlist': '',
            'attachment_set-0-id': '',
            'attachment_set-0-comment': 'Testing',
            'attachment_set-0-attachment': '',

            'children-INITIAL_FORMS': 0,
            'children-MIN_NUM_FORMS': 0,
            'children-MAX_NUM_FORMS': 10,
            'children-TOTAL_FORMS': 1,
            'children-0-order': 1,
            'children-0-child': self.tl_1.id,
            'children-0-parent': '',
            'children-0-id': '',

            'testlistmembership_set-MIN_NUM_FORMS': 0,
            'testlistmembership_set-INITIAL_FORMS': 0,
            'testlistmembership_set-MAX_NUM_FORMS': 10,
            'testlistmembership_set-TOTAL_FORMS': 1,
            'testlistmembership_set-0-test_list': '',
            'testlistmembership_set-0-id': '',
            'testlistmembership_set-0-order': 0,
            'testlistmembership_set-0-test': self.t_1.id
        }