예제 #1
0
    def test_post(self):
        self.mock_login_admin()

        kit_id = 'tst_vBKrP'
        # this is the kit uuid for tst_vBKrP
        kit_uuid = 'd8592c74-83f6-2135-e040-8a80115d6401'
        n_barcodes = len(db.get_barcode_info_by_kit_id(kit_uuid))

        response = self.post('/ag_add_barcode_kit/', {'kit_id': kit_id,
                                                      'num_barcodes': 1})
        self.assertEqual(response.code, 200)
        obs_n_barcodes = len(db.get_barcode_info_by_kit_id(kit_uuid))
        self.assertEqual(n_barcodes + 1, obs_n_barcodes)
예제 #2
0
    def test_post(self):
        self.mock_login_admin()
        ag_login_id = 'd8592c74-83f5-2135-e040-8a80115d6401'
        kit_id = db.ut_get_supplied_kit_id(ag_login_id)

        # this is the kit uuid for tst_vBKrP
        kit_uuid = 'd8592c74-83f6-2135-e040-8a80115d6401'
        n_barcodes = len(db.get_barcode_info_by_kit_id(kit_uuid))

        response = self.post('/ag_add_barcode_kit/', {
            'kit_id': kit_id,
            'num_barcodes': 1
        })
        self.assertEqual(response.code, 200)
        obs_n_barcodes = len(db.get_barcode_info_by_kit_id(kit_uuid))
        self.assertEqual(n_barcodes + 1, obs_n_barcodes)
예제 #3
0
    def post(self):
        term = self.get_argument('search_term')
        results = {}
        # search participant info
        logins = db.search_participant_info(term)
        results = set(logins)
        # search kit info and add to resluts
        logins = db.search_kits(term)
        results = results | set(logins)
        #  search barcode and add to results
        logins = db.search_barcodes(term)
        results = results | set(logins)
        # search handout kits
        handouts = db.search_handout_kits(term)

        # now take the ag_login_ids and collect the information to display
        display_results = []  # list of dictionatries
        for login in results:
            login_display = {}
            login_display['login_info'] = db.get_login_info(login)
            login_display['humans'] = db.getHumanParticipants(
                login)
            login_display['animals'] = db.getAnimalParticipants(
                login)
            login_display['kit'] = db.get_kit_info_by_login(login)
            for kit in login_display['kit']:
                barcode_info = {}
                ag_barcodes = db.get_barcode_info_by_kit_id(
                    kit['ag_kit_id'])
                barcode_info = {}
                for ag_barcode in ag_barcodes:
                    barcode_info[ag_barcode['barcode']] = {}
                    barcode_info[ag_barcode['barcode']]['ag_info'] = ag_barcode
                    lab_barcode_info = db.get_barcode_details(
                        ag_barcode['barcode'])
                    plate = db.get_plate_for_barcode(
                        ag_barcode['barcode'])
                    barcode_info[ag_barcode['barcode']]['barcode_info'] = \
                        lab_barcode_info
                    barcode_info[ag_barcode['barcode']]['plate'] = plate
                kit['barcode_info'] = barcode_info
            display_results.append(login_display)

        # now render the page
        self.render("ag_search.html",
                    results=display_results,
                    handouts=handouts,
                    currentuser=self.current_user)
예제 #4
0
    def test_post_barcode(self):
        self.mock_login_admin()

        search_term = '000028538'
        response = self.post('/ag_search/', {'search_term': search_term})
        self.assertEqual(response.code, 200)
        for barcode in db.search_barcodes(search_term):
            kit_id = db.get_kit_info_by_login(barcode)[0]['ag_kit_id']
            for sample in db.get_barcode_info_by_kit_id(kit_id):
                for field in sample:
                    if sample[field] is not None:
                        if (field == 'ag_kit_id') or (
                             field == 'ag_kit_barcode_id'):
                            self.assertNotIn(sample[field], response.body)
                        else:
                            self.assertIn(sample[field], response.body)
예제 #5
0
 def test_get_barcode_info_by_kit_id(self):
     obs = db.get_barcode_info_by_kit_id(
         '0060a301-e5c0-6a4e-e050-8a800c5d49b7')
     exp = [{'ag_kit_id': '0060a301-e5c0-6a4e-e050-8a800c5d49b7',
             'environment_sampled': None,
             'sample_time': datetime.time(11, 15),
             'notes': 'REMOVED',
             'barcode': '000018046',
             'results_ready': 'Y',
             'refunded': None,
             'participant_name': 'REMOVED-0',
             'ag_kit_barcode_id': '0060a301-e5c1-6a4e-e050-8a800c5d49b7',
             'sample_date': datetime.date(2014, 8, 13),
             'withdrawn': None,
             'site_sampled': 'Stool'}]
     self.assertEqual(obs, exp)
예제 #6
0
    def test_post_barcode(self):
        self.mock_login_admin()

        search_term = '000028538'
        response = self.post('/ag_search/', {'search_term': search_term})
        self.assertEqual(response.code, 200)
        for barcode in db.search_barcodes(search_term):
            kit_id = db.get_kit_info_by_login(barcode)[0]['ag_kit_id']
            for sample in db.get_barcode_info_by_kit_id(kit_id):
                for field in sample:
                    if sample[field] is not None:
                        if (field == 'ag_kit_id') or \
                           (field == 'ag_kit_barcode_id'):
                            self.assertNotIn(sample[field], response.body)
                        else:
                            exp = xhtml_escape_recursive(sample[field])
                            self.assertIn(str(exp), response.body)
예제 #7
0
    def post(self):
        term = self.get_argument('search_term')
        results = {}
        # search participant info
        logins = db.search_participant_info(term)
        results = set(logins)
        # search kit info and add to resluts
        logins = db.search_kits(term)
        results = results | set(logins)
        #  search barcode and add to results
        logins = db.search_barcodes(term)
        results = results | set(logins)
        # search handout kits
        handouts = db.search_handout_kits(term)

        # now take the ag_login_ids and collect the information to display
        display_results = []  # list of dictionatries
        for login in results:
            login_display = {}
            login_display['login_info'] = db.get_login_info(login)
            login_display['humans'] = db.getHumanParticipants(
                login)
            login_display['animals'] = db.getAnimalParticipants(
                login)
            login_display['kit'] = db.get_kit_info_by_login(login)
            for kit in login_display['kit']:
                barcode_info = {}
                ag_barcodes = db.get_barcode_info_by_kit_id(
                    kit['ag_kit_id'])
                barcode_info = {}
                for ag_barcode in ag_barcodes:
                    barcode_info[ag_barcode['barcode']] = {}
                    barcode_info[ag_barcode['barcode']]['ag_info'] = ag_barcode
                    lab_barcode_info = db.get_barcode_details(
                        ag_barcode['barcode'])
                    plate = db.get_plate_for_barcode(
                        ag_barcode['barcode'])
                    barcode_info[ag_barcode['barcode']]['barcode_info'] = \
                        lab_barcode_info
                    barcode_info[ag_barcode['barcode']]['plate'] = plate
                kit['barcode_info'] = barcode_info
            display_results.append(login_display)

        # now render the page
        self.render("ag_search.html", results=display_results,
                    handouts=handouts, currentuser=self.current_user)
예제 #8
0
 def test_get_barcode_info_by_kit_id(self):
     obs = db.get_barcode_info_by_kit_id(
         '0060a301-e5c0-6a4e-e050-8a800c5d49b7')[0]
     exp = {'ag_kit_id': '0060a301-e5c0-6a4e-e050-8a800c5d49b7',
            'environment_sampled': None,
            'sample_time': datetime.time(11, 15),
            # 'notes': 'REMOVED',
            'barcode': '000018046',
            'results_ready': 'Y',
            'refunded': None,
            # 'participant_name': 'REMOVED-0',
            'ag_kit_barcode_id': '0060a301-e5c1-6a4e-e050-8a800c5d49b7',
            'sample_date': datetime.date(2014, 8, 13),
            'withdrawn': None,
            'site_sampled': 'Stool'}
     # only look at those fields, that are not subject to scrubbing
     self.assertEqual({k: obs[k] for k in exp}, exp)
예제 #9
0
 def test_get_barcode_info_by_kit_id(self):
     obs = db.get_barcode_info_by_kit_id(
         '0060a301-e5c0-6a4e-e050-8a800c5d49b7')[0]
     exp = {'ag_kit_id': '0060a301-e5c0-6a4e-e050-8a800c5d49b7',
            'environment_sampled': None,
            'sample_time': datetime.time(11, 15),
            # 'notes': 'REMOVED',
            'barcode': '000018046',
            'results_ready': 'Y',
            'refunded': None,
            # 'participant_name': 'REMOVED-0',
            'ag_kit_barcode_id': '0060a301-e5c1-6a4e-e050-8a800c5d49b7',
            'sample_date': datetime.date(2014, 8, 13),
            'withdrawn': None,
            'site_sampled': 'Stool'}
     # only look at those fields, that are not subject to scrubbing
     self.assertEqual({k: obs[k] for k in exp}, exp)
예제 #10
0
 def test_get_barcode_info_by_kit_id(self):
     obs = db.get_barcode_info_by_kit_id(
         '0060a301-e5c0-6a4e-e050-8a800c5d49b7')
     exp = [{
         'ag_kit_id': '0060a301-e5c0-6a4e-e050-8a800c5d49b7',
         'environment_sampled': None,
         'sample_time': datetime.time(11, 15),
         'notes': 'REMOVED',
         'barcode': '000018046',
         'results_ready': 'Y',
         'refunded': None,
         'participant_name': 'REMOVED-0',
         'ag_kit_barcode_id': '0060a301-e5c1-6a4e-e050-8a800c5d49b7',
         'sample_date': datetime.date(2014, 8, 13),
         'withdrawn': None,
         'site_sampled': 'Stool'
     }]
     self.assertEqual(obs, exp)
예제 #11
0
 def test_get_barcode_info_by_kit_id(self):
     obs = db.get_barcode_info_by_kit_id("0060a301-e5c0-6a4e-e050-8a800c5d49b7")
     exp = [
         {
             "ag_kit_id": "0060a301-e5c0-6a4e-e050-8a800c5d49b7",
             "environment_sampled": None,
             "sample_time": datetime.time(11, 15),
             "notes": "REMOVED",
             "barcode": "000018046",
             "results_ready": "Y",
             "refunded": None,
             "participant_name": "REMOVED-0",
             "ag_kit_barcode_id": "0060a301-e5c1-6a4e-e050-8a800c5d49b7",
             "sample_date": datetime.date(2014, 8, 13),
             "withdrawn": None,
             "site_sampled": "Stool",
         }
     ]
     self.assertEqual(obs, exp)