def test_notifications_with_invalid_data_returns_form(): request = DummyRequest(post={}) controller = NotificationsController(request) controller.form = invalid_form() result = controller.notifications() assert 'form' in result
def test_notifications_with_invalid_data_returns_form(authn_policy): request = DummyRequest(post={}) authn_policy.authenticated_userid.return_value = 'jerry' controller = NotificationsController(request) controller.form = invalid_form() result = controller.notifications() assert 'form' in result
def test_notifications_form_with_valid_data_redirects(authn_policy, subscriptions_model): request = DummyRequest(post={}) authn_policy.authenticated_userid.return_value = 'fiona' subscriptions_model.get_subscriptions_for_uri.return_value = [] controller = NotificationsController(request) controller.form = form_validating_to({}) result = controller.notifications() assert isinstance(result, httpexceptions.HTTPFound)
def test_notifications_form_sets_subscriptions_data_in_form(authn_policy, subscriptions_model): request = DummyRequest() authn_policy.authenticated_userid.return_value = 'fiona' subscriptions_model.get_subscriptions_for_uri.return_value = [ FakeSubscription('reply', True), FakeSubscription('foo', False), ] controller = NotificationsController(request) controller.form = form_validating_to({}) controller.notifications_form() controller.form.set_appstruct.assert_called_once_with({ 'notifications': set(['reply']), })
def test_notifications_form_with_valid_data_updates_subscriptions(authn_policy, subscriptions_model): request = DummyRequest(post={}) authn_policy.authenticated_userid.return_value = 'fiona' subs = [ FakeSubscription('reply', True), FakeSubscription('foo', False), ] subscriptions_model.get_subscriptions_for_uri.return_value = subs controller = NotificationsController(request) controller.form = form_validating_to({ 'notifications': set(['foo']) }) controller.notifications() assert subs[0].active == False assert subs[1].active == True