- def test_Day_by_date(self) -> None:
- """Test Day.by_date()."""
- with self.assertRaises(HandledException):
- Day.by_date(self.db_conn, '2024-01-01')
- Day('2024-01-01').save(self.db_conn)
- self.assertEqual(Day('2024-01-01'),
- Day.by_date(self.db_conn, '2024-01-01'))
- with self.assertRaises(HandledException):
- Day.by_date(self.db_conn, '2024-01-02')
- self.assertEqual(Day('2024-01-02'),
- Day.by_date(self.db_conn, '2024-01-02', create=True))
-
- def test_Day_all(self) -> None:
- """Test Day.all(), especially in regards to date range filtering."""
- day1 = Day('2024-01-01')
- day2 = Day('2024-01-02')
- day3 = Day('2024-01-03')
- day1.save(self.db_conn)
- day2.save(self.db_conn)
- day3.save(self.db_conn)
- self.assertEqual(Day.all(self.db_conn), [day1, day2, day3])
- self.assertEqual(Day.all(self.db_conn, ('', '')),
- [day1, day2, day3])
- self.assertEqual(Day.all(self.db_conn, ('2024-01-01', '2024-01-03')),
+ def test_saving_and_caching(self) -> None:
+ """Test storage of instances.
+
+ We don't use the parent class's method here because the checked class
+ has too different a handling of IDs.
+ """
+ kwargs = {'date': self.default_ids[0], 'comment': 'foo'}
+ self.check_saving_and_caching(**kwargs)
+
+ def test_Day_from_table_row(self) -> None:
+ """Test .from_table_row() properly reads in class from DB"""
+ self.check_from_table_row()
+
+ def test_Day_by_id(self) -> None:
+ """Test .by_id()."""
+ self.check_by_id()
+
+ def test_Day_by_date_range_filled(self) -> None:
+ """Test Day.by_date_range_filled."""
+ date1, date2, date3 = self.default_ids
+ day1, day2, day3 = self.check_all()
+ # check date range is a closed interval
+ self.assertEqual(Day.by_date_range_filled(self.db_conn, date1, date3),