def test_format_date_time_in_gmt(self): # Given test_data = { datetime( 2018, 10, 28, 00, 15, 0, tzinfo=timezone.utc ): "28 October 2018 at 01:15", # Clocks go back on 29th Oct 2018 datetime( 2018, 10, 29, 00, 15, 0, tzinfo=timezone.utc ): "29 October 2018 at 00:15", } for date_time, expected_value in test_data.items(): with self.subTest( date_time=date_time, expected_value=expected_value, ): date_time = date_time.replace(tzinfo=timezone.utc) # When with self.app_request_context("/"): format_value = format_datetime(self.autoescape_context, date_time) # Then self.assertEqual( format_value, f"<span class='date'>{expected_value}</span>" )
def test_format_date_time_in_bst(self): # Given a date after DST started date_time = '2018-03-29T11:59:13.528680' # When with self.app_request_context('/'): format_value = format_datetime(self.autoescape_context, date_time) # Then self.assertEqual(format_value, "<span class='date'>29 March 2018 at 12:59</span>")
def test_format_date_time_in_gmt(self): # Given date_time = '2018-10-28T11:59:13.528680' # When with self.app_request_context('/'): format_value = format_datetime(self.autoescape_context, date_time) # Then self.assertEqual(format_value, "<span class='date'>28 October 2018 at 11:59</span>")
def test_format_date_time_in_bst(self): # Given date_time = '2018-03-29T11:59:13.528680' date_format = "d MMMM YYYY 'at' HH:mm" # When with self.app_request_context('/'): format_value = format_datetime(self.autoescape_context, date_time, date_format) # Then self.assertEqual(format_value, "<span class='date'>29 March 2018 at 12:59</span>")
def test_format_date_time_in_bst(self): # Given a date after BST started date_time = datetime(2018, 3, 29, 23, 59, 0, tzinfo=timezone.utc) # When with self.app_request_context("/"): format_value = format_datetime(self.autoescape_context, date_time) # Then self.assertEqual( format_value, "<span class='date'>30 March 2018 at 00:59</span>" )