def test_custom_sort_indexes(self):

        request1 = {}
        request2 = {}
        request3 = {}

        request1['sort'] = 'document_date'
        request2['sort'] = 'receipt_date'
        request3['sort'] = 'delivery_date'

        self.expect(self.config.sort_reverse).result(False).count(0, None)

        self.replay()

        source1 = RelatedDocumentsCatalogTableSource(self.config, request1)
        source2 = RelatedDocumentsCatalogTableSource(self.config, request2)
        source3 = RelatedDocumentsCatalogTableSource(self.config, request3)

        result1 = source1.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])
        result2 = source2.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])
        result3 = source3.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])

        self.assertEquals(result1, ['brain1', 'brain3', 'brain2'])
        self.assertEquals(result2, ['brain1', 'brain3', 'brain2'])
        self.assertEquals(result3, ['brain1', 'brain3', 'brain2'])

        self.assertEquals(source1.config._custom_sort_method,
                          default_custom_sort)
        self.assertEquals(source2.config._custom_sort_method,
                          default_custom_sort)
        self.assertEquals(source3.config._custom_sort_method,
                          default_custom_sort)
    def test_no_sort_index(self):

        self.expect(self.config.sort_reverse).result(False).count(0, None)
        self.replay()

        source = RelatedDocumentsCatalogTableSource(self.config, self.request)

        result = source.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])

        self.assertEquals(result, ['brain1', 'brain3', 'brain2'])
    def test_no_sort_index(self):

        self.expect(self.config.sort_reverse).result(False).count(0, None)
        self.replay()

        source = RelatedDocumentsCatalogTableSource(self.config, self.request)

        result = source.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])

        self.assertEquals(result, ['brain1', 'brain3', 'brain2'])
    def test_custom_sort_indexes(self):

        request1 = {}
        request2 = {}
        request3 = {}

        request1['sort'] = 'document_date'
        request2['sort'] = 'receipt_date'
        request3['sort'] = 'delivery_date'

        self.expect(self.config.sort_reverse).result(False).count(0, None)

        self.replay()

        source1 = RelatedDocumentsCatalogTableSource(
            self.config, request1)
        source2 = RelatedDocumentsCatalogTableSource(
            self.config, request2)
        source3 = RelatedDocumentsCatalogTableSource(
            self.config, request3)

        result1 = source1.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])
        result2 = source2.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])
        result3 = source3.extend_query_with_ordering(
            ['brain1', 'brain3', 'brain2'])

        self.assertEquals(result1, ['brain1', 'brain3', 'brain2'])
        self.assertEquals(result2, ['brain1', 'brain3', 'brain2'])
        self.assertEquals(result3, ['brain1', 'brain3', 'brain2'])

        self.assertEquals(
            source1.config._custom_sort_method, default_custom_sort)
        self.assertEquals(
            source2.config._custom_sort_method, default_custom_sort)
        self.assertEquals(
            source3.config._custom_sort_method, default_custom_sort)
    def test_no_transform(self):

        self.request['sort'] = 'document_author'

        self.expect(self.config.sort_reverse).result(False).count(0, None)
        self.expect(self.config.columns).result(self.columns)

        self.replay()

        source = RelatedDocumentsCatalogTableSource(self.config, self.request)

        result = source.extend_query_with_ordering(
            [self.brain_1, self.brain_3, self.brain_2])

        self.assertEquals(result, [self.brain_3, self.brain_1, self.brain_2])
    def test_no_transform(self):

        self.request['sort'] = 'document_author'

        self.expect(self.config.sort_reverse).result(False).count(0, None)
        self.expect(self.config.columns).result(self.columns)

        self.replay()

        source = RelatedDocumentsCatalogTableSource(self.config, self.request)

        result = source.extend_query_with_ordering(
            [self.brain_1, self.brain_3, self.brain_2])

        self.assertEquals(result, [self.brain_3, self.brain_1, self.brain_2])