def test_save_email(self): visobj = self.place.profile.email_visibility visobj.visible_online_public = True visobj.visible_online_authed = True visobj.visible_in_book = True visobj.save() # Setting `online_authed` to False is expected to set `online_public` to # False as well, and leave `in_book` as is without change. form = VisibilityForm(data={ 'visible_online_public': True, 'visible_online_authed': False, }, instance=visobj) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() visobj.refresh_from_db() self.assertFalse(visobj.visible_online_public) self.assertFalse(visobj.visible_online_authed) self.assertTrue(visobj.visible_in_book) # Setting `online_public` to True is expected to set `online_authed` to # True as well, and leave `in_book` as is without change. form = VisibilityForm(data={ 'visible_online_public': True, 'visible_online_authed': False, }, instance=visobj) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() visobj.refresh_from_db() self.assertTrue(visobj.visible_online_public) self.assertTrue(visobj.visible_online_authed) self.assertTrue(visobj.visible_in_book)
def test_save_phone(self): self.phone.visibility.visible_online_public = True self.phone.visibility.visible_online_authed = True self.phone.visibility.visible_in_book = True self.phone.visibility.save() # Setting `online_authed` to False is expected to set `online_public` to # False as well, and leave `in_book` as is without change. form = VisibilityForm(data={ 'visible_online_public': True, 'visible_online_authed': False, 'visible_in_book': True, }, instance=self.phone.visibility) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() self.phone.visibility.refresh_from_db() self.assertFalse(self.phone.visibility.visible_online_public) self.assertFalse(self.phone.visibility.visible_online_authed) self.assertTrue(self.phone.visibility.visible_in_book) # Setting `online_public` to True is expected to set `online_authed` to # True as well, and leave `in_book` as is without change. form = VisibilityForm(data={ 'visible_online_public': True, 'visible_online_authed': False, 'visible_in_book': True, }, instance=self.phone.visibility) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() self.phone.visibility.refresh_from_db() self.assertTrue(self.phone.visibility.visible_online_public) self.assertTrue(self.phone.visibility.visible_online_authed) self.assertTrue(self.phone.visibility.visible_in_book) # Setting `in_book` to False is expected to change the visibility object # and leave `online_public`, `online_authed` as are without change. form = VisibilityForm(data={ 'visible_online_public': True, 'visible_online_authed': True, 'visible_in_book': False, }, instance=self.phone.visibility) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() self.phone.visibility.refresh_from_db() self.assertTrue(self.phone.visibility.visible_online_public) self.assertTrue(self.phone.visibility.visible_online_authed) self.assertFalse(self.phone.visibility.visible_in_book)
def test_save_place(self): self.place.visibility.visible_online_public = False self.place.visibility.visible_online_authed = False self.place.visibility.visible_in_book = True self.place.visibility.save() # Setting `online_public` to True is expected to set `online_authed` to # True as well, and leave `in_book` as is without change. form = VisibilityForm(data={ 'visible_online_public': True, }, instance=self.place.visibility) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() self.place.visibility.refresh_from_db() self.assertTrue(self.place.visibility.visible_online_public) self.assertTrue(self.place.visibility.visible_online_authed) self.assertTrue(self.place.visibility.visible_in_book) place2stay = PlaceFactory(available=True, in_book=True) place2stay.visibility.refresh_from_db() place2stay.visibility.visible_online_public = False place2stay.visibility.visible_online_authed = False place2stay.visibility.visible_in_book = True place2stay.visibility.save() # Setting `in_book` to False is expected to update the visibility object. form = VisibilityForm(data={ 'visible_in_book': False, }, instance=place2stay.visibility) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() place2stay.visibility.refresh_from_db() self.assertFalse(place2stay.visibility.visible_online_public) self.assertFalse(place2stay.visibility.visible_online_authed) self.assertFalse(place2stay.visibility.visible_in_book) # Setting `in_book` to True is expected to change the visibility object # and leave `online_public`, `online_authed` as are without change. form = VisibilityForm(data={ 'visible_in_book': True, }, instance=place2stay.visibility) self.assertTrue(form.is_valid(), msg=repr(form.errors)) form.save() place2stay.visibility.refresh_from_db() self.assertFalse(place2stay.visibility.visible_online_public) self.assertFalse(place2stay.visibility.visible_online_authed) self.assertTrue(place2stay.visibility.visible_in_book)
def test_save(self): visobj = self.place.family_members_visibility form = VisibilityForm(data={}, instance=visobj) self.assertTrue(form.is_valid(), msg=repr(form.errors)) newobj = form.save(commit=False) self.assertIs(newobj, visobj)