def test_register_returns_errors_when_validation_fails(): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = invalid_form() result = controller.register() assert result == {"form": "invalid form"}
def test_register_no_event_when_validation_fails(event, notify): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = invalid_form() controller.register() assert not event.called assert not notify.called
def test_register_adds_new_user_to_session(user_model): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) controller.register() assert user_model.return_value in request.db.added
def test_register_event_redirects_on_success(): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) result = controller.register() assert isinstance(result, httpexceptions.HTTPRedirection)
def test_register_sends_activation_email(activation_email, mailer): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) controller.register() assert activation_email.return_value in mailer.outbox
def test_register_event_when_validation_succeeds(event, notify, user_model): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) new_user = user_model.return_value controller.register() event.assert_called_with(request, new_user) notify.assert_called_with(event.return_value)
def test_register_generates_activation_email_from_user(activation_email, user_model): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) new_user = user_model.return_value controller.register() activation_email.assert_called_with(request, new_user)
def test_register_creates_new_activation(activation_model, user_model): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) new_user = user_model.return_value controller.register() assert new_user.activation == activation_model.return_value
def test_register_creates_user_from_form_data(user_model): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", "random_other_field": "something else", }) controller.register() user_model.assert_called_with(username="******", email="*****@*****.**", password="******")
def test_register_sends_email(activation_email, mailer): request = DummyRequest(method='POST') controller = RegisterController(request) controller.form = form_validating_to({ "username": "******", "email": "*****@*****.**", "password": "******", }) activation_email.return_value = { 'recipients': ['*****@*****.**'], 'subject': 'subject', 'body': 'body' } controller.register() mailer.send.assert_called_once_with(request, recipients=['*****@*****.**'], subject='subject', body='body')