Пример #1
0
 def test_post_com_id_repetido(self):
     """Adiciona uma feira informando um ID repetido"""
     post_as_json(self.client, reverse("api-feiras"), test_data["com_id"])
     response = post_as_json(self.client, reverse("api-feiras"),
                             test_data["com_id"])
     content = get_response_content(response)
     self.assertEqual(response.status_code, 500, "Deve retornar status 500")
     self.assertEqual(
         content.get("message"),
         u"O id informado já existe no cadastro de feiras",
         u"Deve retornar uma mensagem informando que o id já está cadastrado"
     )
Пример #2
0
    def test_delete(self):
        u"""Adiciona uma feira, exclui em seguida e verifica se foi mesmo excluída"""
        id = feiras_test_data["com_id_2"]["id"]
        post_as_json(self.client, reverse("api-feiras"),
                     feiras_test_data["com_id_2"])
        response = self.client.delete(
            reverse("api-feira-id", kwargs={"id": id}))
        content = get_response_content(response)
        self.assertEqual(response.status_code, 200, "Deve retornar status 200")
        self.assertEqual(
            content["message"], u"Feira {} removida com sucesso".format(id),
            u"Deve retornar mensagem de confirmação de feira excluida")

        response = self.client.get(reverse("api-feira-id", kwargs={"id": id}))
        self.assertEqual(response.status_code, 404, "Deve retornar status 404")
Пример #3
0
 def test_post_sem_id(self):
     """Adiciona uma feira sem informar o id"""
     response = post_as_json(self.client, reverse("api-feiras"),
                             test_data["sem_id"])
     content = get_response_content(response)
     self.assertEqual(content["results"][0]["id"], 1,
                      "Deve adicionar uma feira com código 1")
Пример #4
0
 def test_post_faltando_campo_obrigatorio(self):
     u"""Adiciona uma feira faltando um campo obrigatório"""
     response = post_as_json(self.client, reverse("api-feiras"),
                             test_data["faltando_campos"])
     self.assertEqual(response.status_code, 500, "Deve gerar erro 500")
     self.assertEqual(
         get_response_content(response).get("message"),
         u"Os seguintes campos obrigatórios não foram preenchidos: longitude",
         u"Deve retornar uma mensagem de erro com a lista de campos obrigatórios não preenchidos"
     )
Пример #5
0
 def test_post_campo_relacionado_invalido(self):
     """Adiciona uma com um distrito inexistente sem informar nome para adicionar na tabela relacionada"""
     response = post_as_json(self.client, reverse("api-feiras"),
                             test_data["distrito_invalido"])
     content = get_response_content(response)
     self.assertEqual(response.status_code, 500, "Deve retornar status 500")
     self.assertEqual(
         content.get("message"),
         u"O código informado para distrito não existe",
         u"Deve retornar uma mensagem informando que o código de distrito é inválido"
     )
Пример #6
0
    def test_list(self):
        """Recupera todas as feiras cadastradas"""
        # adiciona 4 feiras
        url = reverse("api-feiras")
        post_as_json(self.client, url, test_data["sem_id"])
        post_as_json(self.client, url, test_data["sem_id"])
        post_as_json(self.client, url, test_data["sem_id"])
        post_as_json(self.client, url, test_data["sem_id"])

        response = self.client.get(url)
        content = get_response_content(response)
        self.assertEqual(response.status_code, 200, "Deve retornar status 200")
        self.assertEqual(content["count"], 4, "Deve retornar contagem igual 4")
        self.assertEqual(len(content["results"]), 4, "Deve retornar 4 feiras")
Пример #7
0
    def test_put_invalido(self):
        u"""Tenta alterar o ID da feira"""
        response = post_as_json(self.client, reverse("api-feiras"),
                                feiras_test_data["com_id_2"])
        content = get_response_content(response)
        id = content["results"][0]["id"]
        id_novo = id + 1
        put_data = {"id": id_novo}

        response = put_as_json(self.client,
                               reverse("api-feira-id", kwargs={"id": id}),
                               put_data)
        content = get_response_content(response)
        self.assertEqual(response.status_code, 500,
                         u"Deve retornar status 500")
        self.assertEqual(
            content["message"],
            u"Campo id não pode ser alterado: {} => {}".format(id, id_novo),
            u"Deve retornar mensagem de erro")
Пример #8
0
    def test_put(self):
        u"""Adiciona uma feira e altera o nome"""
        response = post_as_json(self.client, reverse("api-feiras"),
                                feiras_test_data["com_id_2"])
        content = get_response_content(response)
        id = content["results"][0]["id"]
        nome_anterior = content["results"][0]["nome"]
        nome_novo = nome_anterior + " NOVO"
        put_data = {"nome": nome_novo}

        response = put_as_json(self.client,
                               reverse("api-feira-id", kwargs={"id": id}),
                               put_data)
        content = get_response_content(response)
        self.assertEqual(response.status_code, 200,
                         u"Deve retornar status 200")
        self.assertEqual(content["results"][0]["nome"], nome_novo,
                         u"Deve mudar o nome para {}".format(nome_novo))
        self.assertNotEqual(content["results"][0]["nome"], nome_anterior,
                            u"Nome novo deve ser diferente do anterior")
Пример #9
0
    def test_get_id(self):
        u"""Adiciona três feiras e tenta recuperar uma delas"""
        post_as_json(self.client, reverse("api-feiras"),
                     feiras_test_data["com_id"])
        post_as_json(self.client, reverse("api-feiras"),
                     feiras_test_data["com_id_2"])
        post_as_json(self.client, reverse("api-feiras"),
                     feiras_test_data["com_id_3"])

        response = self.client.get(reverse("api-feira-id", kwargs={"id": 2}))
        content = get_response_content(response)
        nome_2 = feiras_test_data["com_id_2"]["nome"]
        self.assertEqual(response.status_code, 200, "Deve retornar status 200")
        self.assertEqual(
            content["results"][0]["nome"], nome_2,
            u"Deve retonrnar a feira com nome = {}".format(nome_2))
Пример #10
0
 def AdicionarFeiras(self):
     url = reverse("api-feiras")
     for feira in test_data["feiras"]:
         response = post_as_json(self.client, url, feira)
         self.assertEqual(response.status_code, 200,
                          u"POST Deve retornar status 200")
Пример #11
0
 def test_post_com_id(self):
     """Adiciona uma feira informando o ID"""
     response = post_as_json(self.client, reverse("api-feiras"),
                             test_data["com_id"])
     self.assertEqual(response.status_code, 200,
                      "Deve adicionar uma feira e retornar status 200")