Map<String, String> params = new HashMap<String, String>();
params.put("interventionType", "10");
params.put("priority", "10");
try {
assertEquals(0, this._ticketManager.searchTicketIds(null).size());
Ticket t1 = this._helper.createTicket(null, new Date(), "email1@inesistente.itte", "message1", "mainEditor", 0, 0, null, null, Ticket.STATES_OPENED, null, false);
this._ticketManager.addTicket(t1);
Ticket t2 = this._helper.createTicket(null, new Date(), "email2@inesistente.itte", "message2", "mainEditor", 0, 0, "pageManagerCustomers", null, Ticket.STATES_ASSIGNABLE, null, false);
this._ticketManager.addTicket(t2);
Ticket t3 = this._helper.createTicket(null, new Date(), "email3@inesistente.itte", "message3", "mainEditor", 0, 0, "admin", null, Ticket.STATES_ASSIGNED, null, false);
this._ticketManager.addTicket(t3);
Ticket t4 = this._helper.createTicket(null, new Date(), "email4@inesistente.itte", "message4", "mainEditor", 0, 0, "mainEditor", null, Ticket.STATES_ASSIGNED, null, false);
this._ticketManager.addTicket(t4);
Ticket t5 = this._helper.createTicket(null, new Date(), "email5@inesistente.itte", "message5", "mainEditor", 0, 0, "pageManagerCustomers", null, Ticket.STATES_CLOSED, null, false);
this._ticketManager.addTicket(t5);
Ticket current = t1;
String result = this.executeAction("admin", actionCode, current.getCode(), params);
assertEquals("opNotAllowed", result);
assertEquals(1, this.getAction().getActionErrors().size());
current = t2;
result = this.executeAction("admin", actionCode, current.getCode(), params);
assertEquals("opNotAllowed", result);
assertEquals(1, this.getAction().getActionErrors().size());
current = t3;
result = this.executeAction("admin", actionCode, current.getCode(), params);
assertEquals(Action.SUCCESS, result);
Ticket ticket = this._ticketManager.getTicket(current.getCode());
assertEquals(Ticket.STATES_CLOSED, ticket.getStatus());
assertEquals(false, ticket.isResolved());
List<TicketOperation> operations = this._ticketManager.getTicketOperations(current.getCode());
assertEquals(1, operations.size());
TicketOperation operation = operations.get(0);
assertEquals(TicketOperation.OPERATIONS_CLOSE, operation.getOperationCode());
current = t4;
result = this.executeAction("admin", actionCode, current.getCode(), params);
assertEquals("opNotAllowed", result);
assertEquals(1, this.getAction().getActionErrors().size());
params.put("resolved", "true");
result = this.executeAction("mainEditor", actionCode, current.getCode(), params);
assertEquals(Action.SUCCESS, result);
ticket = this._ticketManager.getTicket(current.getCode());
assertEquals(Ticket.STATES_CLOSED, ticket.getStatus());
assertEquals(true, ticket.isResolved());
operations = this._ticketManager.getTicketOperations(current.getCode());
assertEquals(1, operations.size());
operation = operations.get(0);
assertEquals(TicketOperation.OPERATIONS_CLOSE, operation.getOperationCode());