2016-10-15 08:23:12 +02:00
|
|
|
describe '/ticket/close' do
|
|
|
|
|
2019-10-01 21:40:30 +02:00
|
|
|
it 'should close ticket if staff member has the same department as ticket' do
|
|
|
|
request('/user/logout')
|
|
|
|
Scripts.createUser('closer@os4.com','closer','Closer')
|
|
|
|
Scripts.login('closer@os4.com','closer')
|
|
|
|
Scripts.createTicket('tickettoclose','thecontentoftickettoclose',1)
|
|
|
|
Scripts.createTicket('tickettoclose2','thecontentoftickettoclose2',3)
|
|
|
|
Scripts.createTicket('tickettoclose3','thecontentoftickettoclose3',3)
|
2018-07-17 06:17:49 +02:00
|
|
|
|
2019-10-01 21:40:30 +02:00
|
|
|
request('/user/logout')
|
|
|
|
Scripts.login($staff[:email], $staff[:password], true)
|
2018-07-17 06:17:49 +02:00
|
|
|
|
2019-10-01 21:40:30 +02:00
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose', 'title')
|
2018-07-17 06:17:49 +02:00
|
|
|
|
2016-10-15 08:23:12 +02:00
|
|
|
result = request('/ticket/close', {
|
|
|
|
ticketNumber: ticket['ticket_number'],
|
|
|
|
csrf_userid: $csrf_userid,
|
|
|
|
csrf_token: $csrf_token
|
2019-10-01 21:40:30 +02:00
|
|
|
|
2016-10-15 08:23:12 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
(result['status']).should.equal('success')
|
|
|
|
|
2019-10-01 21:40:30 +02:00
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose', 'title')
|
2016-10-15 08:23:12 +02:00
|
|
|
(ticket['closed']).should.equal('1')
|
|
|
|
|
2016-12-29 21:25:45 +01:00
|
|
|
lastLog = $database.getLastRow('log')
|
2017-01-06 22:40:33 +01:00
|
|
|
(lastLog['type']).should.equal('CLOSE')
|
2016-10-15 08:23:12 +02:00
|
|
|
end
|
2019-10-01 21:40:30 +02:00
|
|
|
it 'should close ticket if staff member does not serve to the department of the ticket but he is the author' do
|
2018-07-12 07:08:37 +02:00
|
|
|
|
2019-10-01 21:40:30 +02:00
|
|
|
request('/staff/edit', {
|
|
|
|
csrf_userid: $csrf_userid,
|
|
|
|
csrf_token: $csrf_token,
|
|
|
|
departments: '[1, 2]',
|
|
|
|
staffId: 1
|
|
|
|
})
|
|
|
|
Scripts.createTicket('thisisanewticket','thisisthecontentofthenewticket',3)
|
2018-07-12 07:08:37 +02:00
|
|
|
|
2019-10-01 21:40:30 +02:00
|
|
|
ticket = $database.getRow('ticket', 'thisisanewticket', 'title')
|
2018-07-12 07:08:37 +02:00
|
|
|
|
2018-07-17 06:22:00 +02:00
|
|
|
result = request('/ticket/close', {
|
|
|
|
ticketNumber: ticket['ticket_number'],
|
|
|
|
csrf_userid: $csrf_userid,
|
|
|
|
csrf_token: $csrf_token
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
(result['status']).should.equal('success')
|
|
|
|
|
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose', 'title')
|
|
|
|
(ticket['closed']).should.equal('1')
|
2018-07-12 07:08:37 +02:00
|
|
|
|
2018-07-17 06:22:00 +02:00
|
|
|
lastLog = $database.getLastRow('log')
|
|
|
|
(lastLog['type']).should.equal('CLOSE')
|
2019-10-01 21:40:30 +02:00
|
|
|
|
|
|
|
end
|
|
|
|
it 'should not close ticket if staff does not serve to the department of the ticket and he is not the author'do
|
|
|
|
|
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose2', 'title')
|
|
|
|
|
|
|
|
result = request('/ticket/close', {
|
|
|
|
ticketNumber: ticket['ticket_number'],
|
|
|
|
csrf_userid: $csrf_userid,
|
|
|
|
csrf_token: $csrf_token
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
(result['status']).should.equal('fail')
|
|
|
|
(result['message']).should.equal('NO_PERMISSION')
|
|
|
|
|
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose2', 'title')
|
|
|
|
(ticket['closed']).should.equal('0')
|
|
|
|
|
|
|
|
request('/staff/edit', {
|
|
|
|
csrf_userid: $csrf_userid,
|
|
|
|
csrf_token: $csrf_token,
|
|
|
|
departments: '[1, 2, 3]',
|
|
|
|
staffId: 1
|
|
|
|
})
|
|
|
|
end
|
|
|
|
it 'should close ticket if User is the author' do
|
|
|
|
request('/user/logout')
|
|
|
|
Scripts.login('closer@os4.com','closer')
|
|
|
|
|
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose3', 'title')
|
|
|
|
|
|
|
|
result = request('/ticket/close', {
|
|
|
|
ticketNumber: ticket['ticket_number'],
|
|
|
|
csrf_userid: $csrf_userid,
|
|
|
|
csrf_token: $csrf_token
|
|
|
|
})
|
|
|
|
|
|
|
|
(result['status']).should.equal('success')
|
|
|
|
|
|
|
|
ticket = $database.getRow('ticket', 'tickettoclose3', 'title')
|
|
|
|
(ticket['closed']).should.equal('1')
|
|
|
|
|
|
|
|
lastLog = $database.getLastRow('log')
|
|
|
|
(lastLog['type']).should.equal('CLOSE')
|
|
|
|
|
|
|
|
request('/user/logout')
|
2016-10-15 08:23:12 +02:00
|
|
|
end
|
2016-12-29 21:25:45 +01:00
|
|
|
end
|