def test_it_does_not_add_duplicate_members(self): circle = Circle('SF Crew') user = User('Jonathan Como', 'jcomo') circle.add_member(user) circle.add_member(user) self.assertEqual(1, len(circle.members.all()))
def test_it_can_add_members_without_saving(self): circle = Circle('SF Crew') user = User('Jonathan Como', 'jcomo') other_user = User('Peter Como', 'pcomo') circle.add_member(user) self.assertEqual(1, len(circle.members.all())) circle.add_member(other_user) self.assertEqual(2, len(circle.members.all())) self.assertIsNone(circle.id)
def test_it_can_have_many_members(self): circle = Circle('SF Crew') user = User('Jonathan Como', 'jcomo') other_user = User('Peter Como', 'pcomo') circle.add_member(user) circle.add_member(other_user) db.session.add(circle) db.session.commit() self.assertEqual(sorted([user, other_user]), sorted(circle.members.all()))
def test_it_must_have_an_author(self): circle = Circle('SF Crew') quip = Quip("I'm not on trial here!", None, circle) db.session.add(quip) with self.assertRaises(IntegrityError): db.session.commit()
def test_it_can_belong_to_many_circles(self): one_circle = Circle('SF Crew') other_circle = Circle('College Friends') user = User('Jonathan Como', 'jcomo') one_circle.add_member(user) other_circle.add_member(user) db.session.add(one_circle) db.session.add(other_circle) db.session.commit() self.assertEqual(sorted([one_circle, other_circle]), sorted(user.circles.all()))
def test_each_user_has_own_quips(self): circle = Circle('SF Crew') user = User('Jonathan Como', 'jcomo') user_quip = Quip('This is some thangs', user, circle) other_user = User('Peter Como', 'pcomo') other_user_quip = Quip('This is none thangs', other_user, circle) db.session.add(user_quip) db.session.add(other_user_quip) db.session.commit() self.assertEqual([user_quip], user.quips.all()) self.assertEqual([other_user_quip], other_user.quips.all())