def test_update_hero(self): """Test update hero""" # Criando o heroi hero = self.create_hero('Hero', 'dc') # Enviando a requisição para obter o heroi params = { 'hero': { 'name': 'Hawkwoman', 'description': hero.description, 'universe': hero.universe, 'imageUrl': 'https://exitoina.uol.com.br/media/_versions/mulher_gaviao_3_widexl.jpg' } } response = self.app.post(path='/hero/{0}'.format(hero.id), json=params) # Resposta da requisição self.assertEqual(response.status_code, 200) # Obtendo o heroi atualizado para conferir o novo nome hero_updated = Hero.get_hero(hero.id) self.assertEqual(hero_updated.name, 'Hawkwoman')
def test_delete_hero(self): """Test delete hero""" # Criando o heroi hero = self.create_hero('Joker', 'dc') # excluindo o heroi Hero.delete(hero.id) # consultando se o heroi foi mesmo excluido self.assertIsNone(Hero.get_hero(hero.id))
def get(self, hero_id): """Get hero""" try: hero = Hero.get_hero(hero_id) if hero: return hero.to_dict() return {'message': 'Hero not found'}, 404 except Exception as error: return {'message': 'Error on get hero', 'details': str(error)}, 500
def test_save_and_get_hero(self): """Test save and get hero""" # Criando o novo heroi new_hero = Hero() new_hero.name = 'Superman' new_hero.description = 'Superman' new_hero.universe = 'dc' new_hero.save() # Obtendo o heroi pelo id hero = Hero.get_hero(new_hero.id) self.assertEqual(hero.name, 'Superman') self.assertEqual(hero.id, new_hero.id)
def post(self, hero_id): """Update a hero""" try: hero = Hero.get_hero(hero_id) if not hero: return {'message': 'Hero not found'}, 404 HeroModule.update(hero, request.json['hero']) return hero.to_dict() except Exception as error: return { 'message': 'Error on update hero', 'details': str(error) }, 500
def post(self, hero_id): """Update a hero""" try: hero_update = Hero.get_hero(hero_id) if hero_update: return hero_update.to_dict() HeroModule.update(hero_update, request.json['hero']) except Exception as error: return { 'message': 'Error on update hero', 'details': str(error) }, 500
def test_create_hero_with_formatted_description(self): params = { 'hero': { 'name': 'SUPERMAN', 'description': ' hero description ', 'universe': 'DC', 'imageUrl': 'https://image.com.br/image.jpg' } } response = self.app.post(path='/heroes', json=params) self.assertEqual(response.status_code, 200) # Obtendo o heroi no banco de dados para conferir a descrição hero_updated = Hero.get_hero(response.get_json()['id']) self.assertEqual(hero_updated.description, 'Hero description')
def post(self, hero_id): """Update a hero""" try: if not request.is_json or 'hero' not in request.json: return {'message': 'Bad request'}, 400 hero_update = Hero.get_hero(hero_id) hero = HeroModule.update(hero_update, request.json['hero']) return hero except Exception as error: return { 'message': 'Error on update hero', 'details': str(error) }, 500
def test_create_hero_with_name_formatted(self): """Test create hero with uppercase name and blank spaces""" params = { 'hero': { 'name': ' SUPERMAN ', 'description': 'Hero description', 'universe': 'DC', 'imageUrl': 'https://image.com.br/image.jpg' } } response = self.app.post(path='/heroes', json=params) self.assertEqual(response.status_code, 200) # Obtendo o heroi no banco de dados para conferir o nome hero_updated = Hero.get_hero(response.get_json()['id']) self.assertEqual(hero_updated.name, 'Superman')
def test_delete_hero(self): """Test delete hero""" # Criando o heroi hero = self.create_hero('Hero', 'DC') # Enviando a requisição para excluir o heroi response = self.app.delete(path='/hero/{0}'.format(hero.id)) # Resposta da requisição self.assertEqual(response.status_code, 200) # Conferindo a mensagem que voltou self.assertEqual(response.get_json(), {'message': 'Hero deleted'}) # Obtendo o heroi diretamente no banco de dados para conferir se foi # excluido mesmo self.assertIsNone(Hero.get_hero(hero.id))
def test_update_hero(self): """Test update hero""" # Criando o heroi com o nome hero hero = self.create_hero('Hero', 'DC') # Enviando a requisição para atualizar nome do heroi para "Hawkwoman" params = { 'hero': { 'name': 'Hawkwoman', 'description': hero.description, 'universe': hero.universe, 'imageUrl': 'https://gartic.com.br/imgs/mural/ti/tica_/pantera-negra.png' } } response = self.app.post(path='/hero/{0}'.format(hero.id), json=params) # Resposta da requisição self.assertEqual(response.status_code, 200) # Obtendo o heroi atualizado para conferir o novo nome hero_updated = Hero.get_hero(hero.id) self.assertEqual(hero_updated.name, 'Hawkwoman')
def test_get_hero_not_found(self): """Test get hero not found""" hero = Hero.get_hero('ID_TEST') self.assertIsNone(hero)
def test_get_hero_not_found(self): hero = Hero.get_hero('ID_TEST') self.assertIsNone(hero)