def test_filled_data_without_collect(self):
        stub_document = {
            "_subgroup": [{
                "_month_start_at": d(2013, 9, 1),
                "_count": 1
            }]
        }
        stub_collect = None

        data = PeriodGroupedData([stub_document], MONTH)
        data.fill_missing_periods(d(2013, 7, 1), d(2013, 10, 1), stub_collect)
        values = data.data()[0]["values"]

        assert_that(values, has_length(3))
 def test_filling_missing_months(self):
     stub_document = {
         "_subgroup": [
             {
                 "_month_start_at": d(2013, 4, 1),
                 "_count": 1
             },
             {
                 "_month_start_at": d(2013, 6, 1),
                 "_count": 1
             }]
     }
     data = PeriodGroupedData([stub_document], MONTH)
     data.fill_missing_periods(d(2013, 4, 1), d(2013, 6, 2))
     values = data.data()[0]["values"]
     assert_that(values, has_length(3))
    def test_filling_data_for_missing_weeks(self):
        stub_document = {
            "_subgroup": [
                {
                    "_count": 1,
                    "_week_start_at": d(2013, 4, 1)
                },
                {
                    "_week_start_at": d(2013, 4, 15),
                    "_count": 5
                }
            ]
        }
        data = PeriodGroupedData([stub_document], WEEK)

        data.fill_missing_periods(d(2013, 4, 1), d(2013, 4, 16))

        assert_that(data.data()[0]["values"], has_length(3))
        assert_that(data.data()[0]["values"], has_items(
            has_entry("_start_at", d_tz(2013, 4, 1)),
            has_entry("_start_at", d_tz(2013, 4, 8)),
            has_entry("_start_at", d_tz(2013, 4, 15))
        ))