def test_search_barcodes(self): obs = db.search_barcodes('000001124') self.assertEqual(obs, ['d8592c74-7c27-2135-e040-8a80115d6401']) ag_login_id = "d8592c74-9491-2135-e040-8a80115d6401" names = db.ut_get_participant_names_from_ag_login_id(ag_login_id) obs = [] for name in names: obs.extend(db.search_barcodes(name)) self.assertTrue(ag_login_id in obs)
def test_search_barcodes(self): obs = db.search_barcodes('000001124') self.assertEqual(obs, ['d8592c74-7c27-2135-e040-8a80115d6401']) obs = db.search_barcodes('REMOVED-8') exp = ['d8592c74-7da1-2135-e040-8a80115d6401', '00711b0a-67d6-0fed-e050-8a800c5d7570', 'd8592c74-9491-2135-e040-8a80115d6401', 'f37dc99e-2241-3a4f-e040-8a80115d1694', 'e025e238-4529-77a9-e040-8a80115d503f', 'e76468db-82ca-bf84-e040-8a80115d55dc', 'fa66366c-12f2-50aa-e040-8a800c5d6584', 'df703c65-b700-401c-e040-8a80115d46ed', 'e02a84fb-8db9-1e6a-e040-8a80115d6e16'] self.assertEqual(obs, exp)
def test_search_barcodes(self): obs = db.search_barcodes("000001124") self.assertEqual(obs, ["d8592c74-7c27-2135-e040-8a80115d6401"]) obs = db.search_barcodes("REMOVED-8") exp = [ "d8592c74-7da1-2135-e040-8a80115d6401", "00711b0a-67d6-0fed-e050-8a800c5d7570", "d8592c74-9491-2135-e040-8a80115d6401", "f37dc99e-2241-3a4f-e040-8a80115d1694", "e025e238-4529-77a9-e040-8a80115d503f", "e76468db-82ca-bf84-e040-8a80115d55dc", "fa66366c-12f2-50aa-e040-8a800c5d6584", "df703c65-b700-401c-e040-8a80115d46ed", "e02a84fb-8db9-1e6a-e040-8a80115d6e16", ] self.assertEqual(obs, exp)
def test_search_barcodes(self): obs = db.search_barcodes('000001124') self.assertEqual(obs, ['d8592c74-7c27-2135-e040-8a80115d6401']) obs = db.search_barcodes('REMOVED-8') exp = [ 'd8592c74-7da1-2135-e040-8a80115d6401', '00711b0a-67d6-0fed-e050-8a800c5d7570', 'd8592c74-9491-2135-e040-8a80115d6401', 'f37dc99e-2241-3a4f-e040-8a80115d1694', 'e025e238-4529-77a9-e040-8a80115d503f', 'e76468db-82ca-bf84-e040-8a80115d55dc', 'fa66366c-12f2-50aa-e040-8a800c5d6584', 'df703c65-b700-401c-e040-8a80115d46ed', 'e02a84fb-8db9-1e6a-e040-8a80115d6e16' ] self.assertEqual(obs, exp)
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)
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)
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)