def test_update_membership(self): u, m = self._create_user_with_membership() m.update(points=100, credits=10) self.assertEqual(Member.get_by_id(m.id).points, 100) self.assertEqual(m.points, Member.get_by_id(m.id).points) self.assertEqual(Member.get_by_id(m.id).credits, 10) self.assertEqual(m.credits, 10)
def test_delete_purchase(self): """ Purchase deleted -> Member NOT deleted -> User NOT deleted """ p, m, u = self._create_purchase_with_member_with_user() p.delete() self.assertEqual(Purchase.query.count(), 0) assert not Purchase.get_by_id(p.id) and Member.get_by_id(m.id) and User.get_by_id(u.id) self.assertEqual(len(m.purchases), 0)
def test_points_to_credits(self): """ Convert points to credits """ u, m = self._create_user_with_membership() m.add_points(100) self.assertEqual(Member.points_needed_for(10), 100) m.convert_points_to_these_credits(10) self.assertEqual(m.points, 0) self.assertEqual(m.credits, 10) self.assertEqual(Member.get_by_id(m.id).points, 0) self.assertEqual(Member.get_by_id(m.id).credits, 10) m.add_points(100) m.convert_points_to_these_credits(9999) # should not be allowed self.assertEqual(m.points, 100) self.assertEqual(m.credits, 10) self.assertEqual(Member.get_by_id(m.id).points, 100) self.assertEqual(Member.get_by_id(m.id).credits, 10)
def test_delete_membership(self): """ Member deleted -> Purchases by that member deleted -> User NOT deleted """ p, m, u = self._create_purchase_with_member_with_user() m.delete() self.assertIsNone(Purchase.get_by_id(p.id)) self.assertIsNone(Member.get_by_id(m.id)) self.assertIsNotNone(User.get_by_id(u.id)) self.assertEqual(u.members, [])
def test_delete_user_before_membership(self): """ if user is deleted then user's membership should be deleted """ u, m = self._create_user_with_membership() self.assertEqual(u.members, [m]) self.assertIsNotNone(m) u.delete() self.assertIsNone(User.get_by_id(u.id)) self.assertIsNone(Member.get_by_id(m.id))
def test_delete_membership_before_user(self): """ if user's membership is deleted then user should still exist """ u, m = self._create_user_with_membership() self.assertIsNotNone(m) self.assertEqual(User.get_by_id(u.id).members, [m]) m.delete() self.assertIsNone(Member.get_by_id(m.id)) self.assertIsNotNone(User.get_by_id(u.id)) self.assertEqual(User.get_by_id(u.id).members, [])