示例#1
0
    def test_2(self):
        """
        Dado:
            - um mapeamento de erros para uma lista de valores inválidos
                invalid_mapping_error_values = {
                    ValueError: ["28/08/2020", "abc"],
                    TypeError: [1, None, {}]
                }
            - um objeto qualquer
        Quando:
            - for chamado validate_date_isoformat(obj, "foo") para cada erro e valor
                com o valor estando na instância
        Então:
            - deve ser lançado o erro específico para cada valor
        """
        invalid_mapping_error_values = {
            ValueError: ["28/08/2020", "abc"],
            TypeError: [1, None, {}],
        }

        obj = MagicMock()

        for error, values in invalid_mapping_error_values.items():
            for value in values:
                obj.foo = value
                with self.subTest(value), self.assertRaises(error):
                    validate_date_isoformat(obj, "foo")
示例#2
0
    def test_11(self):

        with self.assertRaises(ValueError) as ctx:
            validate_date_isoformat("", "", future=True, past=True)

        self.assertIn(
            "Não se pode verificar se é uma data futura e passada ao mesmo tempo!",
            str(ctx.exception),
        )
示例#3
0
    def test_4(self):
        """
        Dado:
            - um objeto obj qualquer que tenha foo com a data de hoje
        Quando:
            - for chamado validate_date_isoformat(obj, "foo", future=True, allow_today=True)  # noqa
        Então:
            - N/A
        """
        obj = MagicMock(foo=today())

        validate_date_isoformat(obj, "foo", future=True, allow_today=True)
示例#4
0
    def test_3(self):
        """
        Dado:
            - um objeto obj qualquer que tenha foo com a data de amanhã
        Quando:
            - for chamado validate_date_isoformat(obj, "foo", future=True)
        Então:
            - N/A
        """
        obj = MagicMock(foo=tomorrow())

        validate_date_isoformat(obj, "foo", future=True)
示例#5
0
    def test_7(self):
        """
        Dado:
            - um objeto obj qualquer que tenha foo com a data de ontem
        Quando:
            - for chamado validate_date_isoformat(obj, "foo", past=True)
        Então:
            - N/A
        """
        obj = MagicMock(foo=yesterday())

        validate_date_isoformat(obj, "foo", past=True)
示例#6
0
    def test_1(self):
        """
        Dado:
            - um objeto obj qualquer que tenha foo="2020-08-28"
        Quando:
            - for chamado validate_date_isoformat(obj, "foo")
        Então:
            - N/A
        """
        obj = MagicMock(foo="2020-08-28")

        validate_date_isoformat(obj, "foo")
示例#7
0
    def test_6(self):
        """
        Dado:
            - um objeto obj qualquer que tenha foo com a data de ontem
        Quando:
            - for chamado validate_date_isoformat(obj, "foo", future=True)
        Então:
            - deve ser lançado um FieldError
            - o texto da exceção deve ser correto
        """
        obj = MagicMock(foo=yesterday())

        with self.assertRaises(FieldError) as ctx:
            validate_date_isoformat(obj, "foo", future=True)

        self.assertEqual(ctx.exception.name, "foo")
        self.assertIn(f"{obj.foo} não é uma data do futuro!",
                      ctx.exception.reason)
示例#8
0
    def test_9(self):
        """
        Dado:
            - um objeto obj qualquer que tenha foo com a data de hoje
        Quando:
            - for chamado validate_date_isoformat(obj, "foo", past=True, allow_today=False)  # noqa
        Então:
            - deve ser lançado um FieldError
            - o texto da exceção deve ser correto
        """
        obj = MagicMock(foo=today())

        with self.assertRaises(FieldError) as ctx:
            validate_date_isoformat(obj, "foo", past=True, allow_today=False)

        self.assertEqual(ctx.exception.name, "foo")
        self.assertIn(f"{obj.foo} não é uma data do passado!",
                      ctx.exception.reason)