def test_a02(self): # usuarioB3 cria uma ficha limpa # Define usuarioB4 como auditor responsável para ficha self.login('usuarioB3', 'usuarioB3') params = { 'tipooperacao': 'Análise de risco na importação', 'numeroCEmercante': '987654321AABBCC', 'recinto_id': 2, 'setor_id': '2', 'numerodeclaracao': '1010101010', 'adata': '2020-01-15', 'ahora': '09:15', 'dataentrada': date(year=2021, month=6, day=20) } ovr1 = self.create_OVR(params, 'usuarioB3') self.session.refresh(ovr1) ficha = self.app.get('/ovr?id=%s' % ovr1.id) # self.render_page(str(ficha.data)) assert ficha.status_code == 200 text = str(ficha.data) token_text = self.get_token(text) payload = { 'csrf_token': token_text, 'ovr_id': ovr1.id, 'responsavel': 'usuarioB4' } ficha = self.app.post('/auditorresponsavelovr', data=payload, follow_redirects=True) # self.render_page(str(ficha.data)) assert ficha.status_code == 200 assert ovr1.cpfauditorresponsavel == 'usuarioB4' session.delete(ovr1) self.logout()
def test_a12_tgovr_com_erro(self): # Érika cria ficha limpa, tenta salvar TG, mas dá erro self.login('erika', 'erika') params_ovr = { 'tipooperacao': 'Mercadoria Abandonada', 'recinto_id': 1, 'fase': 3 } ovr1 = self.create_OVR(params_ovr, 'erika') self.session.refresh(ovr1) assert ovr1.id is not None assert ovr1.responsavel is None # Tenta salvar TG ficha = self.app.get('lista_tgovr?ovr_id=%s' % ovr1.id) text = str(ficha.data) # self.render_page(text) tgovr_pos = text.find('action="tgovr"') tgovr_text = text[tgovr_pos:] token_text = self.get_token(tgovr_text) payload = {'csrf_token': token_text, 'ovr_id': ovr1.id} self.app.post('/tgovr', data=payload, follow_redirects=True) assert Exception session.delete(ovr1) self.logout()
def test_a03(self): # Carlos cria uma ficha limpa # Atribui responsabilidade para usuarioB4 da Equipe B # usuarioB4 arquiva a ficha self.login('carlos', 'carlos') params = { 'tipooperacao': 'Mercadoria Abandonada', 'adata': '2021-01-01', 'ahora': '13:15' } ovr1 = self.create_OVR(params, 'carlos') self.session.refresh(ovr1) ficha = self.app.get('/ovr?id=%s' % ovr1.id) assert ficha.status_code == 200 assert ovr1.fase == 0 # Iniciada assert ovr1.tipoevento_id == 1 # Aguardando distribuição assert ovr1.user_name == 'carlos' assert ovr1.responsavel is None ficha = self.app.get('/ovr?id=%s' % ovr1.id) text = str(ficha.data) # self.render_page(text) responsavelovr_pos = text.find('action="responsavelovr"') responsavelovr_text = text[responsavelovr_pos:] token_text = self.get_token(responsavelovr_text) payload = { 'csrf_token': token_text, 'ovr_id': ovr1.id, 'responsavel': 'usuarioB4' } ficha = self.app.post('/responsavelovr', data=payload, follow_redirects=True) assert b'usuarioB4' in ficha.data assert ovr1.fase == 1 # Ativa assert ovr1.tipoevento_id == 13 # Atribuição de responsável assert ovr1.tipoevento.nome == 'Atribuição de responsável' assert ovr1.user_name == 'carlos' assert ovr1.responsavel.nome == 'usuarioB4' # Usuário B4 arquiva a ficha self.login('usuarioB4', 'usuarioB4') ficha = self.app.get('/ovr?id=%s' % ovr1.id) text = str(ficha.data) token_text = self.get_token(responsavelovr_text) payload = { 'csrf_token': token_text, 'ovr_id': ovr1.id, 'tipoevento_id': '12' } ficha = self.app.post('/eventoovr', data=payload, follow_redirects=True) self.render_page(str(ficha.data)) assert ovr1.fase == 4 # Arquivada assert ovr1.tipoevento_id == 12 # Arquivamento assert ovr1.tipoevento.nome == 'Arquivamento' assert ovr1.responsavel.nome == 'usuarioB4' session.delete(ovr1) self.logout()
def test_a11_processoovr_com_erro(self): # Érika cria ficha limpa, tenta informar processo, mas dá erro self.login('erika', 'erika') params_ovr = {'tipooperacao': 'Mercadoria Abandonada', 'recinto_id': 1} ovr1 = self.create_OVR(params_ovr, 'erika') self.session.refresh(ovr1) assert ovr1.id is not None assert ovr1.responsavel is None assert ovr1.fase == 0 # Tenta informar processo ficha = self.app.get('/ovr?id=%s' % ovr1.id) text = str(ficha.data) # self.render_page(text) processoovr_pos = text.find('action="processoovr"') processoovr_text = text[processoovr_pos:] token_text = self.get_token(processoovr_text) payload = {'csrf_token': token_text} self.app.post('/processoovr', data=payload, follow_redirects=True) assert Exception session.delete(ovr1) self.logout()
def test_a06_encerrar_ficha_sem_resultado(self): # Kanoo cria ficha limpa, se autoatribui e encerra ficha sem resultado self.login('kanoo', 'kanoo') params_ovr = {'tipooperacao': 'Mercadoria Abandonada', 'recinto_id': 1} ovr1 = self.create_OVR(params_ovr, 'kanoo') self.session.refresh(ovr1) assert ovr1.id is not None assert ovr1.responsavel is None assert ovr1.fase == 0 params_evento = { 'ovr_id': ovr1.id, 'tipoevento_id': get_tipoevento_id(session, EventoEspecial.Responsavel.value), 'motivo': 'Atribuição de responsável' } gera_eventoovr(session, params=params_evento, user_name='kanoo') encerramento_ovr = self.app.get('/encerramento_ovr?ovr_id=%s' % ovr1.id) assert encerramento_ovr.status_code == 200 text = str(encerramento_ovr.data) self.render_page(text) csrf_token = self.get_token(text) tipo_resultado_pos = text.find('name="tipo_resultado"') tipo_resultado = text[tipo_resultado_pos + 29:tipo_resultado_pos + 30] payload = { 'csrf_token': csrf_token, 'ovr_id': ovr1.id, 'tipo_resultado': tipo_resultado } ficha_encerrada = self.app.post('/encerrar_ficha', data=payload, follow_redirects=True) assert ficha_encerrada.status_code == 200 # self.render_page(str(ficha_encerrada.data)) session.delete(ovr1) self.logout()
def test_a08_encerrar_ficha_com_resultado_com_auditor(self): # Kanoo cria ficha limpa, se autoatribui e tenta encerrar ficha com resultado, com auditor definido self.login('kanoo', 'kanoo') params_ovr = { 'tipooperacao': 'Mercadoria Abandonada', 'recinto_id': 1, 'numeroCEmercante': '131415161718192' } ovr1 = self.create_OVR(params_ovr, 'kanoo') self.session.refresh(ovr1) assert ovr1.id is not None assert ovr1.responsavel is None assert ovr1.fase == 0 # Atribui responsabilidade para kanoo atribui_responsavel_ovr(session, ovr_id=ovr1.id, responsavel='kanoo', user_name=ovr1.user_name) # Kanoo se torna o auditor responsável pela ficha atribui_responsavel_ovr(session, ovr_id=ovr1.id, responsavel='kanoo', user_name=ovr1.user_name, auditor='kanoo') # Cria RVF tipo_apreensao = gera_objeto(TipoApreensao(), session, params={'descricao': 'Cocaína'}) lista_apreensoes = [] params_apreensao = { 'tipo_id': 1, 'peso': 10, 'descricao': 'Cocaína no tênis' } apreensao = gera_apreensao_rvf(session, params=params_apreensao) lista_apreensoes.append(apreensao) lista_imagens = [] params_rvf = { 'numerolote': 'ABCD1234567', 'descricao': 'RFV número 01', 'imagens': lista_imagens, 'apreensoes': lista_apreensoes, 'ovr_id': ovr1.id } cadastra_rvf(session, user_name=ovr1.user_name, params=params_rvf) # Tenta encerrar ficha lista_de_rvfs_apreensoes = lista_de_rvfs_e_apreensoes(session, ovr_id=ovr1.id) payload = {'lista_de_rvfs_apreensoes': lista_de_rvfs_apreensoes} encerramento_ovr = self.app.get('/encerramento_ovr?ovr_id=%s' % ovr1.id) assert encerramento_ovr.status_code == 200 text = str(encerramento_ovr.data) self.render_page(text) csrf_token = self.get_token(text) tipo_resultado_pos = text.find('name="tipo_resultado"') tipo_resultado = text[tipo_resultado_pos + 29:tipo_resultado_pos + 30] payload = { 'csrf_token': csrf_token, 'ovr_id': ovr1.id, 'responsavel': ovr1.responsavel.nome, 'apreensao': apreensao.peso, 'auditor': ovr1.cpfauditorresponsavel, 'tipo_resultado': tipo_resultado } ficha_encerrada = self.app.post('/encerrar_ficha', data=payload, follow_redirects=True) assert ficha_encerrada.status_code == 200 # self.render_page(str(ficha_encerrada.data)) session.delete(ovr1) self.logout()
def test_a01(self): # Erika cria uma ficha limpa # Atribui responsabilidade para usuarioA1 da sua equipe # Verifica fichas do seu setor login = self.login('erika', 'erika') assert b'erika' in login.data recinto = self.create_recinto('Wonderland') self.session.refresh(recinto) params = { 'tipooperacao': 'Mercadoria Abandonada', 'numeroCEmercante': 'CE-123456789AAB', 'cnpj_fiscalizado': '04175124000169', 'numerodeclaracao': '111222333444', 'recinto_id': recinto.id, 'adata': '2021-01-01', 'ahora': '13:15' } ovr1 = self.create_OVR(params, 'erika') self.session.refresh(ovr1) ficha = self.app.get('/ovr?id=%s' % ovr1.id) assert ficha.status_code == 200 assert ovr1.tipooperacao == 'Mercadoria Abandonada' assert b'CE-123456789AAB' in ficha.data assert ovr1.fase == 0 # Iniciada assert ovr1.tipoevento_id == 1 # Aguardando distribuição assert ovr1.user_name == 'erika' assert ovr1.cpfauditorresponsavel is None assert ovr1.setor_id == '50' # Equipe 01 - Setor da Érika assert ovr1.responsavel is None ficha = self.app.get('/ovr?id=%s' % ovr1.id) text = str(ficha.data) # self.render_page(text) responsavelovr_pos = text.find('action="responsavelovr"') responsavelovr_text = text[responsavelovr_pos:] token_text = self.get_token(responsavelovr_text) payload = { 'csrf_token': token_text, 'ovr_id': ovr1.id, 'responsavel': 'usuarioA1' } ficha = self.app.post('/responsavelovr', data=payload, follow_redirects=True) assert b'usuarioA1' in ficha.data assert ovr1.fase == 1 # Ativa assert ovr1.tipoevento_id == 13 # Atribuição de responsável assert ovr1.tipoevento.nome == 'Atribuição de responsável' assert ovr1.user_name == 'erika' assert ovr1.cpfauditorresponsavel is None assert ovr1.setor_id == '50' # Equipe 01 - Setor da Érika assert ovr1.responsavel.nome == 'usuarioA1' soup = BeautifulSoup(ficha.data, features='lxml') table = soup.find('table', {'id': 'table_eventos'}) rows = [str(row) for row in table.findAll("tr")] assert len(rows) == 2 # ficha_setores = self.app.get('/ovrs_meus_setores') # assert ficha_setores.status_code == 200 # soup = BeautifulSoup(ficha_setores.data, features='lxml') # self.render_page(str(soup)) # table = soup.find('table', {'id': 'minhas_ovrs_table'}) # # self.render_page(str(soup)) # rows = [str(row) for row in table.findAll("tr")] # assert len(rows) == 2 # usuarioA1 cria nova ficha com o mesmo CNPJ, Número declaração e CE self.login('usuarioA1', 'usuarioA1') params = { 'tipooperacao': 'Mercadoria Abandonada', 'numeroCEmercante': 'CE-123456789AAB', 'cnpj_fiscalizado': '04175124000169', 'numerodeclaracao': '111222333444', 'recinto_id': recinto.id, 'adata': '2021-01-14', 'ahora': '09:40' } ovr2 = self.create_OVR(params, 'usuarioA1') self.session.refresh(ovr2) ficha = self.app.get('/ovr?id=%s' % ovr2.id) soup = BeautifulSoup(ficha.data, features='lxml') # self.render_page(str(soup)) assert 'Atenção!!! CE-Mercante já possui Fichas:' in str(soup) assert 'Atenção!!! DUE já possui Fichas:' in str(soup) assert 'Empresa (mostrando 6 meses, utilize pesquisa empresa para ver mais)' in str( soup) session.delete(ovr1) session.delete(ovr2) self.logout()