def test_retrieve_single_page_size(self):
        OfficerFactory.create_batch(40, first_name='Steve')

        self.rebuild_index()
        self.refresh_index()

        retrieve_single_url = reverse('api:suggestion-single')
        response = self.client.get(retrieve_single_url, {
            'term': 'Ste',
            'contentType': 'OFFICER'
        })
        expect(response.status_code).to.equal(status.HTTP_200_OK)
        expect(response.data['count']).to.equal(40)
        expect(response.data['next']).to.ne(None)
        expect(len(response.data['results'])).to.eq(30)
    def test_query(self):
        allegation_officer1, allegation_officer2 = OfficerFactory.create_batch(
            2)
        trr_officer1, trr_officer2 = OfficerFactory.create_batch(2)
        pinboard_officer1, pinboard_officer2 = OfficerFactory.create_batch(2)
        other_officer = OfficerFactory()

        pinboard_allegation1, pinboard_allegation2 = AllegationFactory.create_batch(
            2)
        allegation1, allegation2, allegation3, allegation4 = AllegationFactory.create_batch(
            4)

        trr1 = TRRFactory(officer=trr_officer1)
        trr2 = TRRFactory(officer=trr_officer2)

        allegation_category1 = AllegationCategoryFactory(
            category='Operation/Personnel Violations', )
        allegation_category2 = AllegationCategoryFactory(
            category='Illegal Search', )
        allegation_category3 = AllegationCategoryFactory(
            category='Verbal Abuse', )

        OfficerAllegationFactory(allegation=pinboard_allegation1,
                                 officer=allegation_officer1,
                                 allegation_category=allegation_category1)
        OfficerAllegationFactory(allegation=pinboard_allegation2,
                                 officer=allegation_officer1,
                                 allegation_category=allegation_category2)
        OfficerAllegationFactory(allegation=pinboard_allegation1,
                                 officer=allegation_officer2,
                                 allegation_category=allegation_category3)
        OfficerAllegationFactory(allegation=pinboard_allegation2,
                                 officer=allegation_officer2,
                                 allegation_category=allegation_category3)
        OfficerAllegationFactory(allegation=allegation3,
                                 officer=trr_officer1,
                                 allegation_category=None)
        OfficerAllegationFactory(allegation=allegation4,
                                 officer=trr_officer1,
                                 allegation_category=allegation_category1)
        OfficerAllegationFactory(allegation=pinboard_allegation1,
                                 officer=trr_officer1,
                                 allegation_category=None)
        OfficerAllegationFactory(allegation=pinboard_allegation2,
                                 officer=trr_officer2,
                                 allegation_category=None)
        OfficerAllegationFactory(allegation=pinboard_allegation2,
                                 officer=trr_officer2,
                                 allegation_category=allegation_category1)
        OfficerAllegationFactory(allegation=allegation1,
                                 officer=pinboard_officer1,
                                 allegation_category=None)
        OfficerAllegationFactory(allegation=allegation2,
                                 officer=pinboard_officer1,
                                 allegation_category=allegation_category2)
        OfficerAllegationFactory(allegation=allegation1,
                                 officer=other_officer,
                                 allegation_category=allegation_category2)

        pinboard = PinboardFactory(trrs=(trr1, trr2),
                                   allegations=(pinboard_allegation1,
                                                pinboard_allegation2),
                                   officers=(pinboard_officer1,
                                             pinboard_officer2))
        expect(list(ComplaintSummaryQuery(pinboard).query())).to.eq([{
            'category':
            None,
            'count':
            4
        }, {
            'category':
            'Operation/Personnel Violations',
            'count':
            3
        }, {
            'category':
            'Illegal Search',
            'count':
            2
        }, {
            'category':
            'Verbal Abuse',
            'count':
            2
        }])