def test_model_with_different_time_and_timezone(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() self.assertTrue(dtm.history.count() == 1, msg="There is one log entry") # Change timestamp to another datetime and another timezone timestamp = datetime.datetime(2017, 1, 10, 14, 0, tzinfo=self.utc_plus_one) dtm.timestamp = timestamp dtm.save() # The time should have changed. self.assertTrue(dtm.history.count() == 2, msg="There are two log entries")
def test_changes_display_dict_datetime(self): timestamp = datetime.datetime(2017, 1, 10, 15, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() localized_timestamp = timestamp.astimezone(gettz(settings.TIME_ZONE)) self.assertTrue(dtm.history.latest().changes_display_dict["timestamp"][1] == \ dateformat.format(localized_timestamp, settings.DATETIME_FORMAT), msg=("The datetime should be formatted according to Django's settings for" " DATETIME_FORMAT")) timestamp = timezone.now() dtm.timestamp = timestamp dtm.save() localized_timestamp = timestamp.astimezone(gettz(settings.TIME_ZONE)) self.assertTrue(dtm.history.latest().changes_display_dict["timestamp"][1] == \ dateformat.format(localized_timestamp, settings.DATETIME_FORMAT), msg=("The datetime should be formatted according to Django's settings for" " DATETIME_FORMAT")) # Change USE_L10N = True with self.settings(USE_L10N=True, LANGUAGE_CODE='en-GB'): self.assertTrue(dtm.history.latest().changes_display_dict["timestamp"][1] == \ formats.localize(localized_timestamp), msg=("The datetime should be formatted according to Django's settings for" " USE_L10N is True with a different LANGUAGE_CODE."))
def test_changes_display_dict_datetime(self): timestamp = datetime.datetime(2017, 1, 10, 15, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() localized_timestamp = timestamp.astimezone(gettz(settings.TIME_ZONE)) self.assertTrue(dtm.history.latest().changes_display_dict["timestamp"][1] == \ dateformat.format(localized_timestamp, settings.DATETIME_FORMAT), msg=("The datetime should be formatted according to Django's settings for" " DATETIME_FORMAT")) timestamp = timezone.now() dtm.timestamp = timestamp dtm.save() localized_timestamp = timestamp.astimezone(gettz(settings.TIME_ZONE)) self.assertTrue(dtm.history.latest().changes_display_dict["timestamp"][1] == \ dateformat.format(localized_timestamp, settings.DATETIME_FORMAT), msg=("The datetime should be formatted according to Django's settings for" " DATETIME_FORMAT")) # Change USE_L10N = True with self.settings(USE_L10N=True, LANGUAGE_CODE='en-GB'): self.assertTrue(dtm.history.latest().changes_display_dict["timestamp"][1] == \ formats.localize(localized_timestamp), msg=("The datetime should be formatted according to Django's settings for" " USE_L10N is True with a different LANGUAGE_CODE."))
def test_model_with_different_timezone(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel( label="DateTimeField model", timestamp=timestamp, date=date, time=time, naive_dt=self.now, ) dtm.save() self.assertTrue(dtm.history.count() == 1, msg="There is one log entry") # Change timestamp to same datetime in another timezone timestamp = datetime.datetime(2017, 1, 10, 13, 0, tzinfo=self.utc_plus_one) dtm.timestamp = timestamp dtm.save() # Nothing should have changed self.assertTrue(dtm.history.count() == 1, msg="There is one log entry")
def test_model_with_same_time(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp) dtm.save() self.assertTrue(dtm.history.count() == 1, msg="There is one log entry") # Change timestamp to same datetime and timezone timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) dtm.timestamp = timestamp dtm.save() # Nothing should have changed self.assertTrue(dtm.history.count() == 1, msg="There is one log entry")
def test_model_with_different_time_and_timezone(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() self.assertTrue(dtm.history.count() == 1, msg="There is one log entry") # Change timestamp to another datetime and another timezone timestamp = datetime.datetime(2017, 1, 10, 14, 0, tzinfo=self.utc_plus_one) dtm.timestamp = timestamp dtm.save() # The time should have changed. self.assertTrue(dtm.history.count() == 2, msg="There are two log entries")
def test_model_with_different_time(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp) dtm.save() self.assertTrue(dtm.history.count() == 1, msg="There is one log entry") # Change timestamp to another datetime in the same timezone timestamp = datetime.datetime(2017, 1, 10, 13, 0, tzinfo=timezone.utc) dtm.timestamp = timestamp dtm.save() # The time should have changed. self.assertTrue(dtm.history.count() == 2, msg="There are two log entries")
def test_model_with_same_time(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() self.assertTrue(dtm.history.count() == 1, msg="There is one log entry") # Change timestamp to same datetime and timezone timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) dtm.timestamp = timestamp dtm.date = datetime.date(2017, 1, 10) dtm.time = datetime.time(12, 0) dtm.save() # Nothing should have changed self.assertTrue(dtm.history.count() == 1, msg="There is one log entry")
def test_model_with_different_datetime(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() self.assertTrue(self.mock_save.call_count == 1, msg="There is one log entry") # Change timestamp to another datetime in the same timezone timestamp = datetime.datetime(2017, 1, 10, 13, 0, tzinfo=timezone.utc) dtm.timestamp = timestamp dtm.save() # The time should have changed. self.assertTrue(self.mock_save.call_count == 2, msg="There are two log entries")
def test_model_with_same_time(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel(label='DateTimeField model', timestamp=timestamp, date=date, time=time, naive_dt=self.now) dtm.save() self.assertTrue(self.mock_save.call_count == 1, msg="There is one log entry") # Change timestamp to same datetime and timezone timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) dtm.timestamp = timestamp dtm.date = datetime.date(2017, 1, 10) dtm.time = datetime.time(12, 0) dtm.save() # Nothing should have changed self.assertTrue(self.mock_save.call_count == 1, msg="There is one log entry")
def test_model_with_different_datetime(self): timestamp = datetime.datetime(2017, 1, 10, 12, 0, tzinfo=timezone.utc) date = datetime.date(2017, 1, 10) time = datetime.time(12, 0) dtm = DateTimeFieldModel( label="DateTimeField model", timestamp=timestamp, date=date, time=time, naive_dt=self.now, ) dtm.save() self.assertEqual(dtm.history.count(), 1, msg="There is one log entry") # Change timestamp to another datetime in the same timezone timestamp = datetime.datetime(2017, 1, 10, 13, 0, tzinfo=timezone.utc) dtm.timestamp = timestamp dtm.save() # The time should have changed. self.assertEqual(dtm.history.count(), 2, msg="There are two log entries")