def test_none(self): """ If a DoesNotExist or MultipleObjectsReturned exception is raised, return None. """ Model = Mock(DoesNotExist=Exception, MultipleObjectsReturned=Exception) Model.objects.get.side_effect = Model.DoesNotExist eq_(get_object_or_none(Model, foo='bar'), None) Model.objects.get.side_effect = Model.MultipleObjectsReturned eq_(get_object_or_none(Model, foo='bar'), None)
def get_context_data(self, *args, **kwargs): ctx = super(TaskDetailContextMixin, self).get_context_data(*args, **kwargs) task = self.object if self.request.user.is_authenticated(): ctx['attempt'] = get_object_or_none(TaskAttempt, user=self.request.user, task=task, state=TaskAttempt.STARTED) ctx['users'] = task.users_who_completed_this_task # add verification form to the context if task.must_be_verified: if self.request.method == 'GET': ctx['verification_form'] = SubmitVerifiedTaskForm() elif self.request.method == 'POST': ctx['verification_form'] = ctx['form'] # determine label for Get Started button if task.is_taken: gs_button_label = _('Taken') gs_button_disabled = True elif task.is_completed: gs_button_label = _('Completed') gs_button_disabled = True else: gs_button_label = _('Get Started') gs_button_disabled = False ctx['gs_button_label'] = gs_button_label ctx['gs_button_disabled'] = gs_button_disabled return ctx
def test_get(self): """ If no exceptions are raised, return the value returned by Model.objects.get. """ Model = Mock() eq_(get_object_or_none(Model, foo='bar'), Model.objects.get.return_value) Model.objects.get.assert_called_with(foo='bar')
def get_context_data(self, *args, **kwargs): ctx = super(TaskDetailView, self).get_context_data(*args, **kwargs) if self.request.user.is_authenticated(): ctx['attempt'] = get_object_or_none(TaskAttempt, user=self.request.user, task=self.object, state=TaskAttempt.STARTED) return ctx
def get_context_data(self, *args, **kwargs): ctx = super(TaskDetailView, self).get_context_data(*args, **kwargs) task = self.object if self.request.user.is_authenticated(): ctx['attempt'] = get_object_or_none(TaskAttempt, user=self.request.user, task=task, state=TaskAttempt.STARTED) # determine label for Get Started button if task.is_taken: gs_button_label = _('Taken') gs_button_disabled = True elif task.is_completed: gs_button_label = _('Completed') gs_button_disabled = True else: gs_button_label = _('Get Started') gs_button_disabled = False ctx['gs_button_label'] = gs_button_label ctx['gs_button_disabled'] = gs_button_disabled return ctx