def test_ignore_summary_reporter_and_description(self): """These cannot be added through the UI, but if somebody tries to build their own POST data they will be ignored.""" batch = BatchModifyModule(self.env) self.req.args = {} self.req.args['batchmod_value_summary'] = 'test ticket' self.req.args['batchmod_value_reporter'] = 'anonymous' self.req.args['batchmod_value_description'] = 'synergize the widgets' values = batch._get_new_ticket_values(self.req) self.assertEqual(len(values), 0)
def test_save_comment(self): """Comments are saved to all selected tickets.""" first_ticket_id = self._insert_ticket('Test 1', reporter='joe') second_ticket_id = self._insert_ticket('Test 2', reporter='joe') selected_tickets = [first_ticket_id, second_ticket_id] batch = BatchModifyModule(self.env) batch._save_ticket_changes(self.req, selected_tickets, {}, 'comment', 'leave') self.assertCommentAdded(first_ticket_id, 'comment') self.assertCommentAdded(second_ticket_id, 'comment')
def test_save_values(self): """Changed values are saved to all tickets.""" first_ticket_id = self._insert_ticket('Test 1', reporter='joe', component='foo') second_ticket_id = self._insert_ticket('Test 2', reporter='joe') selected_tickets = [first_ticket_id, second_ticket_id] new_values = { 'component' : 'bar' } batch = BatchModifyModule(self.env) batch._save_ticket_changes(self.req, selected_tickets, new_values, '', 'leave') self.assertFieldChanged(first_ticket_id, 'component', 'bar') self.assertFieldChanged(second_ticket_id, 'component', 'bar')
def test_action_with_state_change(self): """Actions can have change status.""" self.env.config.set('ticket-workflow', 'embiggen', '* -> big') first_ticket_id = self._insert_ticket('Test 1', reporter='joe', status='small') second_ticket_id = self._insert_ticket('Test 2', reporter='joe') selected_tickets = [first_ticket_id, second_ticket_id] batch = BatchModifyModule(self.env) batch._save_ticket_changes(self.req, selected_tickets, {}, '', 'embiggen') ticket = Ticket(self.env, int(first_ticket_id)) changes = ticket.get_changelog() self.assertFieldChanged(first_ticket_id, 'status', 'big') self.assertFieldChanged(second_ticket_id, 'status', 'big')
def test_action_with_side_effects(self): """Actions can have operations with side effects.""" self.env.config.set('ticket-workflow', 'buckify', '* -> *') self.env.config.set('ticket-workflow', 'buckify.operations', 'set_owner') self.req.args = {} self.req.args['action_buckify_reassign_owner'] = 'buck' first_ticket_id = self._insert_ticket('Test 1', reporter='joe', owner='foo') second_ticket_id = self._insert_ticket('Test 2', reporter='joe') selected_tickets = [first_ticket_id, second_ticket_id] batch = BatchModifyModule(self.env) batch._save_ticket_changes(self.req, selected_tickets, {}, '', 'buckify') ticket = Ticket(self.env, int(first_ticket_id)) changes = ticket.get_changelog() self.assertFieldChanged(first_ticket_id, 'owner', 'buck') self.assertFieldChanged(second_ticket_id, 'owner', 'buck')
def test_no_selected_tickets(self): """If nothing is selected, the return value is the empty list.""" self.req.args = { 'selected_tickets' : '' } batch = BatchModifyModule(self.env) selected_tickets = batch._get_selected_tickets(self.req) self.assertEqual(selected_tickets, [])
def test_selected_tickets(self): self.req.args = { 'selected_tickets' : '1,2,3' } batch = BatchModifyModule(self.env) selected_tickets = batch._get_selected_tickets(self.req) self.assertEqual(selected_tickets, ['1', '2', '3'])
def test_add_batchmod_value_data_from_request(self): batch = BatchModifyModule(self.env) self.req.args = {} self.req.args['batchmod_value_milestone'] = 'milestone1' values = batch._get_new_ticket_values(self.req) self.assertEqual(values['milestone'], 'milestone1')
def _change_list_test_helper(self, original, new, new2, mode): batch = BatchModifyModule(self.env) return batch._change_list(original, new, new2, mode)