コード例 #1
0
    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')
コード例 #2
0
    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))
コード例 #3
0
    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
コード例 #4
0
    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)
コード例 #5
0
 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
コード例 #6
0
    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
コード例 #7
0
    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')
コード例 #8
0
    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
コード例 #9
0
    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')
コード例 #10
0
    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))
コード例 #11
0
    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')
コード例 #12
0
 def test_get_hero_not_found(self):
     """Test get hero not found"""
     hero = Hero.get_hero('ID_TEST')
     self.assertIsNone(hero)
コード例 #13
0
 def test_get_hero_not_found(self):
     hero = Hero.get_hero('ID_TEST')
     self.assertIsNone(hero)