def test_some_joined_some_as(self): ''' Retorna categorias transformadas, algumas com rename ''' categorias = [ 'nm_indicador-nome', 'vl_indicador_mun-valor', 'ds_indicador', 'cd_indicador_mun' ] result = QueryBuilder.transform_joined_categorias(categorias, '_mun') expected = [ 'nm_indicador AS nome', 'vl_indicador AS valor', 'ds_indicador', 'cd_indicador' ] self.assertEqual(result, expected)
def build_joined_categorias(self, categorias, valor=None, agregacao=None, joined=None): ''' Constrói a parte dos atributos selecionados na query ''' if categorias is None or not categorias: raise ValueError('Invalid Categories - required') str_cat = [] suffix = self.get_join_suffix(joined) str_cat += QueryBuilder.transform_joined_categorias(categorias, suffix) if agregacao is not None and valor is not None: str_cat += self.combine_val_aggr(valor, agregacao, suffix) elif agregacao is not None and valor is None: str_cat += self.build_generic_agr_array(agregacao) if QueryBuilder.validate_field_array(str_cat): return ', '.join(str_cat) raise ValueError('Invalid attributes')
def test_all_joined_some_as(self): ''' Retorna categorias transformadas, algumas com rename ''' categorias = ['nm_indicador_mun-nome', 'vl_indicador_mun'] result = QueryBuilder.transform_joined_categorias(categorias, '_mun') self.assertEqual(result, ['nm_indicador AS nome', 'vl_indicador'])
def test_all_joined_no_as(self): ''' Retorna todas categorias transformadas sem rename ''' categorias = ['nm_indicador_mun', 'vl_indicador_mun'] result = QueryBuilder.transform_joined_categorias(categorias, '_mun') self.assertEqual(result, ['nm_indicador', 'vl_indicador'])