def test_unmatched_passwords(self, db): """Registration form not valid if passwords don't match.""" data = self.base_data.copy() data['password'] = '******' form = forms.RegistrationForm(data) assert not form.is_valid() assert form.errors['__all__'] == [u"The passwords didn't match."]
def test_must_accept_terms(self, db): """Registration requires accepting terms of service.""" data = self.base_data.copy() del data['terms_confirm'] form = forms.RegistrationForm(data) assert not form.is_valid() assert form.errors == {'terms_confirm': [u"This field is required."]}
def test_no_school(self, db): """If no school selected, create one.""" form = forms.RegistrationForm(self.base_data.copy()) assert form.is_valid() profile = form.save() school = profile.school assert school.auto assert not school.postcode
def test_no_addschool_validation_error_if_addschool_false(self, db): """If addschool is False, addschool form not bound.""" data = self.base_data.copy() data['addschool'] = 'False' data['email'] = 'not a valid email' form = forms.RegistrationForm(data) assert not form.is_valid() assert not form.addschool_form.is_bound
def test_dupe_email(self, db): """Registration form not valid if email already in use.""" factories.UserFactory.create(email='*****@*****.**') form = forms.RegistrationForm(self.base_data.copy()) assert not form.is_valid() assert form.errors['email'] == [ u"This email address is already in use. " u"Please supply a different email address." ]
def test_register(self, db): """Registration creates active school_staff w/ unconfirmed email.""" form = forms.RegistrationForm(self.base_data.copy()) assert form.is_valid() profile = form.save() assert not profile.email_confirmed assert profile.school_staff assert profile.user.is_active assert profile.country_code == 'us'
def test_source_phone(self, db): """Source phone is set according to country code.""" data = self.base_data.copy() data['country_code'] = 'ca' ca_phone = '+13216543987' with override_settings(PORTFOLIYO_NUMBERS={'ca': ca_phone}): form = forms.RegistrationForm(data) assert form.is_valid() profile = form.save() assert profile.country_code == 'ca' assert profile.source_phone == ca_phone
def test_add_school_takes_user_country(self, db): """New school takes country of new user.""" data = self.base_data.copy() data['country_code'] = 'ca' data['addschool'] = '1' data['addschool-name'] = "New School" data['addschool-postcode'] = "12345" form = forms.RegistrationForm(data) assert form.is_valid() profile = form.save() school = profile.school assert school.country_code == 'ca'
def test_add_school(self, db): """If addschool is True, create a new school and use it.""" data = self.base_data.copy() data['addschool'] = '1' data['addschool-name'] = "New School" data['addschool-postcode'] = "12345" form = forms.RegistrationForm(data) assert form.is_valid() profile = form.save() school = profile.school assert school.name == u"New School" assert school.postcode == u"12345"
def test_add_school_validation_error(self, db): """If addschool is True but fields not complete, validation error.""" data = self.base_data.copy() data['addschool'] = 'True' data['addschool-name'] = "New School" data['addschool-postcode'] = "" form = forms.RegistrationForm(data) assert not form.is_valid() assert form.errors['__all__'] == [u"Could not add a school."] assert form.addschool_form.errors['postcode'] == [ u"This field is required." ]
def test_add_dupe_school(self, db): """No integrity error on school-creation race condition.""" data = self.base_data.copy() data['addschool'] = '1' data['addschool-name'] = "My School" data['addschool-postcode'] = "12345" form = forms.RegistrationForm(data) assert form.is_valid() school = factories.SchoolFactory.create( name="My School", postcode="12345", ) profile = form.save() assert profile.school == school