コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
 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)