def test_availablemission_start(self): """ AvailableMission can be started """ am = AvailableMission( mission=self.m, kingdom=self.k ) am.save() r = self.c.post(reverse('mission.views.available_mission_start', args=(am.pk,))) self.assertEqual(200, r.status_code) self.assertEqual(PendingMission.objects.all().count(), 2)
def kingdom_unlock_mission(self, slug): """ Unlock the title. """ mission = Mission.objects.get(slug=slug) try: sid = transaction.savepoint() available_mission = AvailableMission( mission=mission, kingdom=self ) available_mission.save() transaction.savepoint_commit(sid) except IntegrityError: transaction.savepoint_rollback(sid)