コード例 #1
0
 def test_adding_multiple_mongo_documents(self):
     stub_document_1 = {
         "_subgroup": [ {"_week_start_at": d(2013, 4, 1), "_count": 5} ]
     }
     stub_document_2 = {
         "_subgroup": [ {"_week_start_at": d(2013, 4, 1), "_count": 5} ]
     }
     data = PeriodGroupedData([stub_document_1, stub_document_2], WEEK)
     assert_that(data.data(), has_length(2))
コード例 #2
0
 def test_month_start_at_gets_expanded_into_start_and_end_fields(self):
     stub_document = {
         "_subgroup": [{
             "_month_start_at": d(2013, 4, 1),
             "_count": 1
         }]}
     data = PeriodGroupedData([stub_document], MONTH)
     values = data.data()[0]['values']
     assert_that(values, has_length(1))
コード例 #3
0
 def test_adding_additional_fields(self):
     stub_document = {
         "_subgroup": [{
             "_count": 1,
             "_week_start_at": d(2013, 4, 1)
         }],
         "some_stuff": "oo stuff"
     }
     data = PeriodGroupedData([stub_document], WEEK)
     assert_that(data.data()[0], has_entry("some_stuff", "oo stuff"))
コード例 #4
0
    def test_that_other_fields_get_added_to_response(self):
        stub_document = {
            "_subgroup": [
                {
                    "_month_start_at": d(2013, 5, 1),
                    "_count": 1
                }
            ],
            "other_stuff": "something"
        }

        data = PeriodGroupedData([stub_document], MONTH)

        assert_that(data.data()[0], has_entry("other_stuff", "something"))
コード例 #5
0
 def test_week_start_at_gets_expanded_in_subgroups_when_added(self):
     stub_document = {
         "_subgroup": [
             {
                 "_week_start_at": d(2013, 4, 1),
                 "_count": 5
             }
         ]
     }
     data = PeriodGroupedData([stub_document], WEEK)
     values = data.data()[0]['values']
     assert_that(values, has_item(has_entry("_start_at", d_tz(2013, 4, 1))))
     assert_that(values, has_item(has_entry("_end_at", d_tz(2013, 4, 8))))
     assert_that(values, has_item(has_entry("_count", 5)))
コード例 #6
0
    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))
コード例 #7
0
    def test_that_collected_values_are_preserved(self):
        stub_document = {
            "_subgroup": [
                {
                    "_month_start_at": d(2013, 5, 1),
                    "_count": 1,
                    "foo:sum": 123
                }
            ]
        }

        data = PeriodGroupedData([stub_document], MONTH)

        assert_that(data.data()[0]["values"][0],
                    has_entry("foo:sum", 123))
コード例 #8
0
 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))
コード例 #9
0
    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))
        ))
コード例 #10
0
 def test_adding_mongo_document(self):
     stub_document = {"_subgroup": []}
     data = PeriodGroupedData([stub_document], MONTH)
     assert_that(data.data(), has_length(1))
コード例 #11
0
 def test_returned_data_should_be_immutable(self):
     stub_document = {"_subgroup": []}
     data = PeriodGroupedData([stub_document], WEEK)
     another_data = data.data()
     ok_(isinstance(another_data, tuple))