Ejemplo n.º 1
0
    def test_modify_search_filter_hook(self):
        # Prep an empty result.
        mock_api = self.generate_mock_api()

        # With an empty recommendation result, the Filter is set up
        # to return nothing.
        lane = RecommendationLane(
            self._default_library, self.work, "", novelist_api=mock_api
        )
        filter = Filter()
        assert False == filter.match_nothing
        modified = lane.modify_search_filter_hook(filter)
        assert modified == filter
        assert True == filter.match_nothing

        # When there are recommendations, the Filter is modified to
        # match only those ISBNs.
        i1 = self._identifier()
        i2 = self._identifier()
        lane.recommendations = [i1, i2]
        filter = Filter()
        assert [] == filter.identifiers
        modified = lane.modify_search_filter_hook(filter)
        assert modified == filter
        assert [i1, i2] == filter.identifiers
        assert False == filter.match_nothing
Ejemplo n.º 2
0
    def test_modify_search_filter_hook(self):
        # Prep an empty result.
        mock_api = self.generate_mock_api()

        # With an empty recommendation result, the Filter is set up
        # to return nothing.
        lane = RecommendationLane(self._default_library,
                                  self.work,
                                  '',
                                  novelist_api=mock_api)
        filter = Filter()
        eq_(False, filter.match_nothing)
        modified = lane.modify_search_filter_hook(filter)
        eq_(modified, filter)
        eq_(True, filter.match_nothing)

        # When there are recommendations, the Filter is modified to
        # match only those ISBNs.
        i1 = self._identifier()
        i2 = self._identifier()
        lane.recommendations = [i1, i2]
        filter = Filter()
        eq_([], filter.identifiers)
        modified = lane.modify_search_filter_hook(filter)
        eq_(modified, filter)
        eq_([i1, i2], filter.identifiers)
        eq_(False, filter.match_nothing)