|
@@ -237,6 +237,104 @@ test( "ticket_perform_action check", function() {
|
|
|
}
|
|
|
}
|
|
|
deepEqual(params, test_params, 'form param check')
|
|
|
+
|
|
|
+ // add pending time
|
|
|
+ $('[data-attribute-name="ticket_perform_action3"] .js-add').last().click()
|
|
|
+
|
|
|
+ var row = $('[data-attribute-name="ticket_perform_action3"] .js-filterElement').last()
|
|
|
+
|
|
|
+ var date_string = '2010-07-15T12:00:00.000Z'
|
|
|
+ var date_parsed = new Date(date_string) // make sure it works regardless of browser locale
|
|
|
+
|
|
|
+ row.find('.js-attributeSelector .form-control').last().val('ticket.pending_time').trigger('change')
|
|
|
+ row.find('.js-datepicker').val(date_parsed.toLocaleDateString()).trigger('blur')
|
|
|
+ row.find('.js-datepicker').datepicker('setDate')
|
|
|
+ row.find('.js-timepicker').val(date_parsed.getHours() + ':' + date_parsed.getMinutes()).trigger('blur')
|
|
|
+
|
|
|
+ params = App.ControllerForm.params(el)
|
|
|
+ test_params = {
|
|
|
+ ticket_perform_action1: {
|
|
|
+ 'ticket.state_id': {
|
|
|
+ value: '2'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ ticket_perform_action2: {
|
|
|
+ 'notification.email': {
|
|
|
+ body: 'some body',
|
|
|
+ internal: 'true',
|
|
|
+ recipient: 'ticket_customer',
|
|
|
+ subject: 'some subject'
|
|
|
+ },
|
|
|
+ 'ticket.priority_id': {
|
|
|
+ value: '2'
|
|
|
+ },
|
|
|
+ 'ticket.state_id': {
|
|
|
+ value: '1'
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ticket_perform_action3: {
|
|
|
+ 'notification.email': {
|
|
|
+ body: 'some body',
|
|
|
+ internal: 'false',
|
|
|
+ recipient: 'ticket_owner',
|
|
|
+ subject: 'some subject'
|
|
|
+ },
|
|
|
+ 'ticket.pending_time': {
|
|
|
+ operator: 'static',
|
|
|
+ value: date_string
|
|
|
+ },
|
|
|
+ 'ticket.state_id': {
|
|
|
+ value: '3'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deepEqual(params, test_params, 'form param check')
|
|
|
+
|
|
|
+ // switch pending time to relative
|
|
|
+
|
|
|
+ row.find('.js-operator select').val('relative').trigger('change')
|
|
|
+ row.find('.js-range').val('day').trigger('change')
|
|
|
+ row.find('.js-value').val('10').trigger('change')
|
|
|
+
|
|
|
+ params = App.ControllerForm.params(el)
|
|
|
+ test_params = {
|
|
|
+ ticket_perform_action1: {
|
|
|
+ 'ticket.state_id': {
|
|
|
+ value: '2'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ ticket_perform_action2: {
|
|
|
+ 'notification.email': {
|
|
|
+ body: 'some body',
|
|
|
+ internal: 'true',
|
|
|
+ recipient: 'ticket_customer',
|
|
|
+ subject: 'some subject'
|
|
|
+ },
|
|
|
+ 'ticket.priority_id': {
|
|
|
+ value: '2'
|
|
|
+ },
|
|
|
+ 'ticket.state_id': {
|
|
|
+ value: '1'
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ticket_perform_action3: {
|
|
|
+ 'notification.email': {
|
|
|
+ body: 'some body',
|
|
|
+ internal: 'false',
|
|
|
+ recipient: 'ticket_owner',
|
|
|
+ subject: 'some subject'
|
|
|
+ },
|
|
|
+ 'ticket.pending_time': {
|
|
|
+ operator: 'relative',
|
|
|
+ range: 'day',
|
|
|
+ value: '10'
|
|
|
+ },
|
|
|
+ 'ticket.state_id': {
|
|
|
+ value: '3'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deepEqual(params, test_params, 'form param check')
|
|
|
});
|
|
|
|
|
|
// Test for backwards compatibility after issue is fixed https://github.com/zammad/zammad/issues/2782
|
|
@@ -363,3 +461,46 @@ test( "ticket_perform_action rows manipulation", function() {
|
|
|
|
|
|
equal($(selector + ' .js-filterElement').length, 1, 'prevents removing last row')
|
|
|
});
|
|
|
+
|
|
|
+// Test for backwards compatibility after PR https://github.com/zammad/zammad/pull/2862
|
|
|
+test( "ticket_perform_action backwards check after PR#2862", function() {
|
|
|
+ $('#forms').append('<hr><h1>ticket_perform_action check</h1><form id="form3"></form>')
|
|
|
+
|
|
|
+ var el = $('#form3')
|
|
|
+
|
|
|
+ var defaults = {
|
|
|
+ ticket_perform_action4: {
|
|
|
+ 'ticket.pending_time': {
|
|
|
+ value: '2010-07-15T05:00:00.000Z'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ new App.ControllerForm({
|
|
|
+ el: el,
|
|
|
+ model: {
|
|
|
+ configure_attributes: [
|
|
|
+ {
|
|
|
+ name: 'ticket_perform_action4',
|
|
|
+ display: 'TicketPerformAction4',
|
|
|
+ tag: 'ticket_perform_action',
|
|
|
+ null: true,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ params: defaults,
|
|
|
+ autofocus: true
|
|
|
+ })
|
|
|
+
|
|
|
+ var params = App.ControllerForm.params(el)
|
|
|
+ var test_params = {
|
|
|
+ ticket_perform_action4: {
|
|
|
+ 'ticket.pending_time': {
|
|
|
+ operator: 'static',
|
|
|
+ value: '2010-07-15T05:00:00.000Z'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ deepEqual(params, test_params, 'form param check')
|
|
|
+});
|