def test_user_register_overlap_different_days(self): workshop_1 = Workshop.objects.get(pk=4) workshop_2 = Workshop.objects.get(pk=5) reg = Registration.create(user=self.user1, workshop=workshop_1) reg.save() with self.assertRaisesMessage(Exception, "Workshops can't overlap"): Registration.create(self.user1, workshop_2)
def test_user_register_twice(self): workshop_1 = Workshop.objects.get(pk=1) workshop_2 = Workshop.objects.get(pk=1) reg = Registration.create(user=self.user1, workshop=workshop_1) reg.save() with self.assertRaisesMessage(Exception, "You already signed for this workshop"): Registration.create(self.user1, workshop_2)
def test_user_register_donot_overlap(self): try: workshop_1 = Workshop.objects.get(pk=2) workshop_2 = Workshop.objects.get(pk=3) #pdb.set_trace() reg = Registration.create(user=self.user1, workshop=workshop_1) reg.save() Registration.create(self.user1, workshop_2) except Exception, Msg: raise "Exception was raised for non-overlapping workshops"
def test_user_no_seats_left(self): workshop_1 = Workshop.objects.get(pk=5) for i in range(0, 10): user = User.objects.create(username='******' % i, password='******', email='*****@*****.**') reg = Registration.create(user=user, workshop=workshop_1) reg.save() with self.assertRaisesMessage( Exception, "Sorry,no seats left for this workshop."): Registration.create(self.user1, workshop_1)
def test_user_can_register(self): user1 = User.objects.get(username='******') #pdb.set_trace() workshop = get_object_or_404(Workshop, pk=1) reg = Registration.create(user=user1, workshop=workshop) reg.save() self.assertEqual(True, user1 in workshop.members.all()) self.assertEqual(True, workshop in user1.workshop_set.all())
def test_user_can_remove(self): user1 = User.objects.get(username='******') workshop = Workshop.objects.get(pk=1) reg = Registration.create(user=user1, workshop=workshop) reg.save() reg.workshop = None reg.save() del reg self.assertEqual(True, workshop not in user1.workshop_set.all()) self.assertEqual(True, user1 not in workshop.members.all())
def add_result(request,workshop_id): try: user_to_add = request.user workshop_to_add = get_object_or_404(Workshop, pk=workshop_id) reg = Registration.create(user_to_add,workshop_to_add) reg.save() c = RequestContext(request,{'workshop_to_add':workshop_to_add}) template = loader.get_template('result.html') return HttpResponse(template.render(c)) except Exception, msg: c = RequestContext(request,{'error_message':msg}) template = loader.get_template('error.html') return HttpResponse(template.render(c))