def test_get_ticket_without_cache_circumvents_cache(self): view = TicketUpdateView(self.env) newtask = self.teh.create_task() newtask[Key.REMAINING_TIME] = 3 self.assert_equals('3', view._ticket(newtask.id)[Key.REMAINING_TIME]) self.assert_equals( '', view._ticket_without_cache(newtask.id)[Key.REMAINING_TIME])
def update_contains_can_edit(self, args): json = self.ticket_as_json(self.task) json.update(args) from agilo.ticket import AgiloTicketSystem if AgiloTicketSystem.is_trac_1_0(): from trac.util.datefmt import to_utimestamp json.update(dict(view_time=str(to_utimestamp(self.task.time_changed)), submit=True)) view = TicketUpdateView(self.env) result = view.do_post(self.req, json) return result['can_edit']
def update_contains_can_edit(self, args): json = self.ticket_as_json(self.task) json.update(args) from agilo.ticket import AgiloTicketSystem if AgiloTicketSystem.is_trac_1_0(): from trac.util.datefmt import to_utimestamp json.update( dict(view_time=str(to_utimestamp(self.task.time_changed)), submit=True)) view = TicketUpdateView(self.env) result = view.do_post(self.req, json) return result['can_edit']
def test_validates_existence_of_custom_status(self): self.teh.move_changetime_to_the_past([self.task]) req = self._request_for_ticket_change(Usernames.team_member, simple_status='fnord') response = self.assert_method_returns_error( TicketUpdateView(self.env).do_post, req, req.args) self.assert_contains("Invalid status", response.errors[0])
def test_cannot_drag_task_if_not_a_team_member(self): req = self._request_for_ticket_change(username=Usernames.product_owner, simple_status='in_progress') self.teh.move_changetime_to_the_past([self.task]) response = self.assert_method_returns_error( TicketUpdateView(self.env).do_post, req, req.args) self.assert_contains("doesn't belong to the team", response.errors[0]) returned_ticket = ValueObject(response.current_data) self.assert_equals(Status.NEW, returned_ticket.status) self.assertEqual('', returned_ticket.owner)
def test_cannot_change_to_value_to_empty(self): self._change_ticket(Usernames.team_member, component='component1') task_from_db = AgiloTicket(self.env, self.task.id) self.assert_equals('component1', task_from_db[Key.COMPONENT]) req = self._request_for_ticket_change(Usernames.team_member, component='') response = self.assert_method_returns_error( TicketUpdateView(self.env).do_post, req, req.args) self.assert_contains('must be set', response.errors[0]) task_from_db = AgiloTicket(self.env, self.task.id) self.assert_equals('component1', task_from_db[Key.COMPONENT])
def _change_ticket(self, username, **kwargs): self.teh.move_changetime_to_the_past([self.task]) req = self._request_for_ticket_change(username, **kwargs) json = TicketUpdateView(self.env).do_post(req, req.args) return ValueObject(json)
def test_cannot_change_to_value_that_is_not_an_option(self): req = self._request_for_ticket_change(Usernames.team_member, component='fnord') response = self.assert_method_returns_error( TicketUpdateView(self.env).do_post, req, req.args) self.assert_contains('is not a valid value', response.errors[0])
def test_get_ticket_without_cache_circumvents_cache(self): view = TicketUpdateView(self.env) newtask = self.teh.create_task() newtask[Key.REMAINING_TIME] = 3 self.assert_equals('3', view._ticket(newtask.id)[Key.REMAINING_TIME]) self.assert_equals('', view._ticket_without_cache(newtask.id)[Key.REMAINING_TIME])