Skip to content

Commit fcf7ce8

Browse files
committed
✅ fix tests
1 parent 6e07b40 commit fcf7ce8

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

tests/factories.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
import factory
55

6-
from . import models
6+
from . import faker_providers, models
7+
8+
9+
factory.Faker.add_provider(faker_providers.DateTimeProviders)
710

811

912
class AuthorFactory(factory.Factory):
@@ -37,7 +40,7 @@ class Meta:
3740
boolean_field: factory.Faker = factory.Faker("boolean")
3841
char_field: factory.Faker = factory.Faker("text", max_nb_chars=255)
3942
date_field: factory.Faker = factory.Faker("date_this_decade")
40-
date_time_field: factory.Faker = factory.Faker("date_time_this_century")
43+
date_time_field: factory.Faker = factory.Faker("date_time_this_century_without_microseconds")
4144
decimal_field: factory.Faker = factory.Faker("pydecimal", left_digits=8, right_digits=2)
4245
float_field: factory.Faker = factory.Faker("pyfloat", left_digits=8, right_digits=4)
4346
integer_field: factory.Faker = factory.Faker("pyint", min_value=-(2**31), max_value=2**31 - 1)
@@ -53,9 +56,9 @@ class Meta:
5356
small_integer_field: factory.Faker = factory.Faker("pyint", min_value=-(2**15), max_value=2**15 - 1)
5457
string_field: factory.Faker = factory.Faker("text", max_nb_chars=255)
5558
text_field: factory.Faker = factory.Faker("text", max_nb_chars=1024)
56-
time_field: factory.Faker = factory.Faker("time_object")
59+
time_field: factory.Faker = factory.Faker("time_object_without_microseconds")
5760
varchar_field: factory.Faker = factory.Faker("text", max_nb_chars=255)
58-
timestamp_field: factory.Faker = factory.Faker("date_time_this_century")
61+
timestamp_field: factory.Faker = factory.Faker("date_time_this_century_without_microseconds")
5962
my_type_field: factory.Faker = factory.Faker("text", max_nb_chars=255)
6063

6164

tests/faker_providers.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import datetime
2+
from typing import Optional
3+
4+
from faker.providers import BaseProvider, date_time
5+
from faker.typing import DateParseType
6+
7+
8+
class DateTimeProviders(BaseProvider):
9+
def time_object_without_microseconds(self, end_datetime: Optional[DateParseType] = None) -> datetime.time:
10+
return date_time.Provider(self.generator).time_object(end_datetime).replace(microsecond=0)
11+
12+
def date_time_this_century_without_microseconds(
13+
self,
14+
before_now: bool = True,
15+
after_now: bool = False,
16+
tzinfo: Optional[datetime.tzinfo] = None,
17+
) -> datetime.datetime:
18+
return (
19+
date_time.Provider(self.generator)
20+
.date_time_this_century(before_now, after_now, tzinfo)
21+
.replace(microsecond=0)
22+
)

0 commit comments

Comments
 (0)