Ejemplo n.º 1
0
class MarketService:
    def __init__(self):
        self.validations = MarketValidations()
        self.database = Postgre()
        self.parser = MarketParser()

    def get_market_by_registry(self, registry: str):
        self.validations.is_valid_registry(registry=registry)
        LOGGER.debug(f'Getting maker by record {registry} service')
        market = self.database.get_market_by_registry(registry=registry)
        return self.parser.object_to_json(market=market)

    def create_market(self, data: dict):
        self.validations.new_market(data=data)
        self.validations.is_valid_registry(registry=data.get('registro'))
        LOGGER.debug('Creating new market service')
        new_market = Market(**data)
        market = self.database.insert_market(market=new_market)
        return self.parser.object_to_json(market=market)

    def delete_market(self, registry: str):
        self.validations.is_valid_registry(registry=registry)
        LOGGER.debug('Deleting market service')
        self.database.delete_market_by_registry(registry=registry)

    def get_markets(self, params: list):
        LOGGER.debug('Getting markets service')
        query = self.parser.params_to_query(params=params)
        markets = self.database.get_markets(query=query)
        return self.parser.markets_to_json(markets=markets)

    def update_market(self, data: dict, registry: str):
        self.validations.update_market(data=data)
        self.validations.is_valid_registry(registry=registry)
        LOGGER.debug('Updating new market service')
        market = self.database.get_market_by_registry(registry=registry)
        market = self.database.update_market(market=market, data=data)
        return self.parser.object_to_json(market=market)
Ejemplo n.º 2
0
 def test_params_to_query_return_bairro(self):
     query = MarketParser.params_to_query(params=[('bairro', 1)])
     self.assertEqual(query, '"bairro" = \'1\'')
Ejemplo n.º 3
0
 def test_params_to_query_return_nome_feira(self):
     query = MarketParser.params_to_query(params=[('nome_feira', 1)])
     self.assertEqual(query, '"nome_feira" = \'1\'')
Ejemplo n.º 4
0
 def test_params_to_query_return_regiao5(self):
     query = MarketParser.params_to_query(params=[('regiao5', 1)])
     self.assertEqual(query, '"regiao5" = \'1\'')
Ejemplo n.º 5
0
 def test_params_to_query_return_distrito(self):
     query = MarketParser.params_to_query(params=[('distrito', 1)])
     self.assertEqual(query, '"distrito" = \'1\'')
Ejemplo n.º 6
0
 def test_params_to_query_return_empty_string(self):
     query = MarketParser.params_to_query(params=[('pudim', 1)])
     self.assertEqual(query, '')
Ejemplo n.º 7
0
 def test_params_to_query_failure_raise_exception(self):
     with self.assertRaises(Exception):
         MarketParser.params_to_query(params=[1, 2, 3, 4, 5])