def test_increment_by_timedelta(self): dummy = baker.make_recipe("tests.generic.serial_datetime") assert dummy.default_date_field == (TEST_TIME.date() + timedelta(days=1)) assert dummy.default_date_time_field == tz_aware(TEST_TIME + timedelta(hours=3)) assert dummy.default_time_field == (TEST_TIME + timedelta(seconds=15)).time() dummy = baker.make_recipe("tests.generic.serial_datetime") assert dummy.default_date_field == (TEST_TIME.date() + timedelta(days=2)) assert dummy.default_date_time_field == tz_aware(TEST_TIME + timedelta(hours=6)) assert dummy.default_time_field == (TEST_TIME + timedelta(seconds=30)).time()
def test_increment_by_timedelta_seq_combined_with_quantity(self): quantity = 5 entries = baker.make_recipe("tests.generic.serial_datetime", _quantity=quantity) for i, e in enumerate(entries): index = i + 1 assert e.default_date_field == (TEST_TIME.date() + timedelta(days=1 * index)) assert e.default_date_time_field == tz_aware(TEST_TIME + timedelta( hours=3 * index)) assert (e.default_time_field == ( TEST_TIME + timedelta(seconds=15 * index)).time())
def test_skip_fields_with_default(self): dummy = baker.make(models.DummyDefaultFieldsModel) assert dummy.default_char_field == "default" assert dummy.default_text_field == "default" assert dummy.default_int_field == 123 assert dummy.default_float_field == 123.0 assert dummy.default_date_field == "2012-01-01" assert dummy.default_date_time_field == tz_aware(datetime.datetime(2012, 1, 1)) assert dummy.default_time_field == "00:00:00" assert dummy.default_decimal_field == Decimal("0") assert dummy.default_email_field == "*****@*****.**" assert dummy.default_slug_field == "a-slug" assert dummy.default_unknown_class_field == 42 assert dummy.default_callable_int_field == 12 assert isinstance(dummy.default_callable_datetime_field, datetime.datetime)
class DummyDefaultFieldsModel(models.Model): default_id = models.AutoField(primary_key=True) default_char_field = models.CharField(max_length=50, default="default") default_text_field = models.TextField(default="default") default_int_field = models.IntegerField(default=123) default_float_field = models.FloatField(default=123.0) default_date_field = models.DateField(default="2012-01-01") default_date_time_field = models.DateTimeField( default=tz_aware(datetime.datetime(2012, 1, 1))) default_time_field = models.TimeField(default="00:00:00") default_decimal_field = models.DecimalField(max_digits=5, decimal_places=2, default=Decimal("0")) default_email_field = models.EmailField(default="*****@*****.**") default_slug_field = models.SlugField(default="a-slug") default_unknown_class_field = ExtendedDefaultField(default=42) default_callable_int_field = models.IntegerField(default=lambda: 12) default_callable_datetime_field = models.DateTimeField(default=now)