def test_it_passes_the_display_name_to_the_template_if_the_user_has_one( self, pyramid_request, user): user.display_name = "Display Name" username = activity.user_search(pyramid_request)['user']['name'] assert username == user.display_name
def test_it_returns_the_username_in_opts_if_user_does_not_exist( self, pyramid_request, search, user, user_service): pyramid_request.matchdict['username'] = '******' user_service.fetch.return_value = None results = activity.user_search(pyramid_request) assert results['opts']['search_username'] == 'does_not_exist'
def test_it_does_not_pass_the_edit_url_to_the_template( self, factories, pyramid_request, user_service): # The user whose page we're on is *not* the same user as the # authenticated user. pyramid_request.authenticated_user = factories.User() user_service.fetch.return_value = factories.User() assert 'edit_url' not in activity.user_search(pyramid_request)['user']
def test_it_passes_the_edit_url_to_the_template(self, pyramid_request, user, user_service): # The user whose page we're on is the same user as the authenticated # user. pyramid_request.authenticated_user = user user_service.fetch.return_value = user user_details = activity.user_search(pyramid_request)['user'] assert user_details['edit_url'] == 'http://example.com/account/profile'
def test_it_does_not_pass_the_edit_url_to_the_template(self, factories, pyramid_request, user_service): # The user whose page we're on is *not* the same user as the # authenticated user. pyramid_request.authenticated_user = factories.User() user_service.fetch.return_value = factories.User() assert 'edit_url' not in activity.user_search(pyramid_request)['user']
def test_it_passes_the_other_user_details_to_the_template( self, factories, pyramid_request, user_service): user = factories.User( registered_date=datetime.datetime(year=2016, month=8, day=1), uri='http://www.example.com/me', orcid='0000-0000-0000-0000', ) user_service.fetch.return_value = user user_details = activity.user_search(pyramid_request)['user'] assert user_details['description'] == user.description assert user_details['registered_date'] == 'August, 2016' assert user_details['location'] == user.location assert user_details['uri'] == user.uri assert user_details['domain'] == 'www.example.com' assert user_details['orcid'] == user.orcid
def test_it_passes_the_other_user_details_to_the_template(self, factories, pyramid_request, user_service): user = factories.User( registered_date=datetime.datetime(year=2016, month=8, day=1), uri='http://www.example.com/me', orcid='0000-0000-0000-0000', ) user_service.fetch.return_value = user user_details = activity.user_search(pyramid_request)['user'] assert user_details['description'] == user.description assert user_details['registered_date'] == 'August, 2016' assert user_details['location'] == user.location assert user_details['uri'] == user.uri assert user_details['domain'] == 'www.example.com' assert user_details['orcid'] == user.orcid
def test_it_passes_the_num_annotations_to_the_template(self, pyramid_request, search): user_details = activity.user_search(pyramid_request)['user'] assert user_details['num_annotations'] == search.return_value['total']
def test_it_does_not_pass_user_to_template_if_user_does_not_exist( self, pyramid_request, user_service): user_service.fetch.return_value = None assert 'user' not in activity.user_search(pyramid_request)
def test_it_returns_404_when_feature_turned_off(self, pyramid_request): pyramid_request.feature.flags['search_page'] = False with pytest.raises(httpexceptions.HTTPNotFound): activity.user_search(pyramid_request)
def test_it_shows_the_normal_version_of_the_page_if_more_info_is_not_in_the_request_params( self, pyramid_request): assert activity.user_search(pyramid_request)['more_info'] is False
def test_it_fetches_the_user(self, pyramid_request, user, user_service): activity.user_search(pyramid_request) user_service.fetch.assert_called_once_with(user.username, 'example.com')
def test_it_calls_search_with_request(self, pyramid_request, search): activity.user_search(pyramid_request) search.assert_called_once_with(pyramid_request)
def test_it_shows_the_more_info_version_of_the_page_if_more_info_is_in_the_request_params( self, pyramid_request): pyramid_request.params['more_info'] = '' assert activity.user_search(pyramid_request)['more_info'] is True
def test_it_returns_user_search_results(self, pyramid_request, search, user): results = activity.user_search(pyramid_request) assert results['opts']['search_username'] == user.username