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))
def setUp(self): self.service = Mock() self.converter = Mock() self.directory_converter = Mock() self.resource = UserResource(self.service, self.converter, self.directory_converter)