def test_create_exploracao(self):
     self.request.json_body = self.build_json()
     exploracaos_create(self.request)
     actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == self.EXP_ID).first()
     utente = self.request.db.query(Utente).filter(Utente.nome == 'nome').first()
     licencia = actual.licencias[0]
     fonte = actual.fontes[0]
     self.assertEquals('new name', actual.exp_name)
     self.assertEquals(None, actual.pagos)
     self.assertEquals('2001-01-01', actual.d_soli.isoformat())
     self.assertEquals('new observ', actual.observacio)
     self.assertEquals('Niassa', actual.loc_provin)
     self.assertEquals('Lago', actual.loc_distri)
     self.assertEquals('Cobue', actual.loc_posto)
     self.assertEquals('new loc_nucleo', actual.loc_nucleo)
     self.assertEquals('new enderezo', actual.loc_endere)
     self.assertEquals('Megaruma', actual.loc_bacia)
     self.assertEquals('Megaruma', actual.loc_subaci)
     self.assertEquals('Megaruma', actual.loc_rio)
     self.assertEquals(19.02, float(actual.c_soli))
     self.assertEquals(29, float(actual.c_licencia))
     self.assertEquals(92, float(actual.c_real))
     self.assertEquals(42.23, float(actual.c_estimado))
     self.assertEquals(utente, actual.utente_rel)
     self.assertEquals('nome', utente.nome)
     self.assertEquals('nuit', utente.nuit)
     self.assertEquals('entidade', utente.entidade)
     self.assertEquals('reg_comerc', utente.reg_comerc)
     self.assertEquals('reg_zona', utente.reg_zona)
     self.assertEquals('Niassa', utente.loc_provin)
     self.assertEquals('Lago', utente.loc_distri)
     self.assertEquals('Cobue', utente.loc_posto)
     self.assertEquals('loc_nucleo', utente.loc_nucleo)
     self.assertEquals('observacio', utente.observacio)
     self.assertEquals('Saneamento', actual.actividade.tipo)
     self.assertEquals(None, actual.actividade.c_estimado)
     self.assertEquals(120000, actual.actividade.habitantes)
     self.assertEquals(actual.exp_id + '-001', licencia.lic_nro)
     self.assertEquals(u'Subterrânea', licencia.lic_tipo)
     self.assertEquals('cadastro', licencia.cadastro)
     self.assertEquals('Irregular', licencia.estado)
     self.assertEquals('2020-02-02', licencia.d_emissao.isoformat())
     self.assertEquals('2010-10-10', licencia.d_validade.isoformat())
     self.assertEquals(4.3, float(licencia.c_soli_tot))
     self.assertEquals(2.3, float(licencia.c_soli_int))
     self.assertEquals(2, float(licencia.c_soli_fon))
     self.assertEquals(10, float(licencia.c_licencia))
     self.assertEquals(4.3, float(licencia.c_real_tot))
     self.assertEquals(2.3, float(licencia.c_real_int))
     self.assertEquals(2, float(licencia.c_real_fon))
     self.assertEquals(u'Subterrânea', fonte.tipo_agua)
     self.assertEquals('Outros', fonte.tipo_fonte)
     self.assertEquals('23,23 42,21', fonte.lat_lon)
     self.assertEquals('2001-01-01', fonte.d_dado.isoformat())
     self.assertEquals(23.42, float(fonte.c_soli))
     self.assertEquals(42.23, float(fonte.c_max))
     self.assertEquals(4.3, float(fonte.c_real))
     self.assertEquals(False, fonte.contador)
     self.assertEquals('manual', fonte.metodo_est)
     self.assertEquals('observacio', fonte.observacio)
 def test_create_exploracao_actividade_rega_without_cultivos(self):
     rega = u'Agricultura-Regadia'
     expected_json = self.build_json()
     expected_json['actividade'] = {
         'tipo': rega,
         'c_estimado': None,
         'cultivos': []
     }
     self.request.json_body = expected_json
     exploracaos_create(self.request)
     actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == self.EXP_ID).first()
     self.assertEquals(rega, actual.actividade.tipo)
     self.assertEquals(0, len(actual.actividade.cultivos))
    def test_all_activities_can_be_created_without_validations_fails(self):
        expected_json = self.build_json()

        exp_id = '9999-999'
        expected_json['actividade'] = {'tipo':u'Abastecimento', 'c_estimado':None}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Abastecimento', actual.actividade.tipo)

        exp_id = '9999-998'
        expected_json['actividade'] = {'tipo':u'Agricultura-Regadia', 'cultivos':[]}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Agricultura-Regadia', actual.actividade.tipo)

        exp_id = '9999-997'
        expected_json['actividade'] = {'tipo':u'Indústria'}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Indústria', actual.actividade.tipo)

        exp_id = '9999-996'
        expected_json['actividade'] = {'tipo':u'Pecuária', 'reses':[]}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Pecuária', actual.actividade.tipo)

        exp_id = '9999-995'
        expected_json['actividade'] = {'tipo':u'Piscicultura'}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Piscicultura', actual.actividade.tipo)

        exp_id = '9999-994'
        expected_json['actividade'] = {'tipo':u'Producção de energia'}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Producção de energia', actual.actividade.tipo)

        exp_id = '9999-993'
        expected_json['actividade'] = {'tipo':u'Saneamento'}
        expected_json['exp_id'] = exp_id
        self.request.json_body = expected_json
        exploracaos_create(self.request)
        actual = self.request.db.query(Exploracao).filter(Exploracao.exp_id == exp_id).first()
        self.assertEquals(exp_id, actual.exp_id)
        self.assertEquals(u'Saneamento', actual.actividade.tipo)