Example #1
0
class TestUserResource(unittest.TestCase):

    def setUp(self):
        self.service = Mock()
        self.converter = Mock()
        self.directory_converter = Mock()
        self.resource = UserResource(self.service, self.converter, self.directory_converter)

    def test_when_request_contains_param_q_then_searches_using_fullname(self, request):
        request.args = {'q': 'myfullname'}
        expected_items = self.service.find_all_by_fullname.return_value
        expected_response = self.converter.encode_list.return_value

        response = self.resource.search()

        self.service.find_all_by_fullname.assert_called_once_with('myfullname')
        self.converter.encode_list.assert_called_once_with(expected_items)
        assert_that(response, equal_to((expected_response,
                                       200,
                                       {'Content-Type': 'application/json'})))

    def test_when_no_view_param_then_default_converter_is_used(self, request):
        request.args = {}
        expected_search = self.service.search.return_value
        expected_response = self.converter.encode_list.return_value

        response = self.resource.search()
        self.converter.encode_list.assert_called_once_with(expected_search.items,
                                                           expected_search.total)
        assert_that(response[0], equal_to(expected_response))

    def test_when_view_param_contains_directory_then_directory_converter_is_used(self, request):
        request.args = {'view': 'directory'}
        expected_search = self.service.search.return_value
        expected_response = self.directory_converter.encode_list.return_value

        response = self.resource.search()
        self.directory_converter.encode_list.assert_called_once_with(expected_search.items,
                                                                     expected_search.total)
        assert_that(response[0], equal_to(expected_response))
Example #2
0
 def setUp(self):
     self.service = Mock()
     self.converter = Mock()
     self.directory_converter = Mock()
     self.resource = UserResource(self.service, self.converter, self.directory_converter)