125 lines
4.8 KiB
Ruby
125 lines
4.8 KiB
Ruby
describe '/staff/assign-ticket' do
|
|
Scripts.logout()
|
|
Scripts.login($staff[:email], $staff[:password], true)
|
|
|
|
Scripts.createTicket('ticket_to_assing_1')
|
|
Scripts.createTicket('ticket_to_assing_2')
|
|
Scripts.createTicket('ticket_to_assing_3')
|
|
Scripts.createTicket('ticket_to_assing_4')
|
|
Scripts.createTicket('ticket_to_assing_5')
|
|
Scripts.createTicket('ticket_to_assing_6')
|
|
Scripts.createTicket('ticket_to_assing_7')
|
|
Scripts.createTicket('ticket_to_assing_8')
|
|
Scripts.createTicket('ticket_to_assing_9')
|
|
Scripts.createTicket('ticket_to_assing_10')
|
|
Scripts.createTicket('ticket_to_assing_11')
|
|
Scripts.createTicket('ticket_to_assing_12')
|
|
Scripts.createTicket('ticket_to_assing_13')
|
|
Scripts.createTicket('ticket_to_assing_14')
|
|
Scripts.createTicket('ticket_to_assing_15')
|
|
Scripts.createTicket('ticket_to_assing_16')
|
|
Scripts.createTicket('ticket_to_assing_17')
|
|
Scripts.createTicket('ticket_to_assing_18')
|
|
|
|
#TODO: Create a staff without all department
|
|
|
|
#it 'should fail if staff is not in the same department'do
|
|
|
|
#end
|
|
|
|
it 'should assign ticket if everything is okey' do
|
|
ticket1 = $database.getRow('ticket', 'ticket_to_assing_1', 'title')
|
|
ticket2 = $database.getRow('ticket', 'ticket_to_assing_2', 'title')
|
|
ticket3 = $database.getRow('ticket', 'ticket_to_assing_3', 'title')
|
|
ticket4 = $database.getRow('ticket', 'ticket_to_assing_4', 'title')
|
|
ticket5 = $database.getRow('ticket', 'ticket_to_assing_5', 'title')
|
|
ticket6 = $database.getRow('ticket', 'ticket_to_assing_6', 'title')
|
|
ticket7 = $database.getRow('ticket', 'ticket_to_assing_7', 'title')
|
|
ticket8 = $database.getRow('ticket', 'ticket_to_assing_8', 'title')
|
|
ticket9 = $database.getRow('ticket', 'ticket_to_assing_9', 'title')
|
|
ticket10 = $database.getRow('ticket', 'ticket_to_assing_10', 'title')
|
|
ticket11 = $database.getRow('ticket', 'ticket_to_assing_11', 'title')
|
|
ticket12 = $database.getRow('ticket', 'ticket_to_assing_12', 'title')
|
|
ticket13 = $database.getRow('ticket', 'ticket_to_assing_13', 'title')
|
|
ticket14 = $database.getRow('ticket', 'ticket_to_assing_14', 'title')
|
|
ticket15 = $database.getRow('ticket', 'ticket_to_assing_15', 'title')
|
|
ticket16 = $database.getRow('ticket', 'ticket_to_assing_16', 'title')
|
|
ticket17 = $database.getRow('ticket', 'ticket_to_assing_17', 'title')
|
|
ticket18 = $database.getRow('ticket', 'ticket_to_assing_18', 'title')
|
|
ticket_with_id_1 = $database.getRow('ticket', 'Should we pay?', 'title')
|
|
|
|
tickets = [
|
|
ticket1,
|
|
ticket2,
|
|
ticket3,
|
|
ticket4,
|
|
ticket5,
|
|
ticket6,
|
|
ticket7,
|
|
ticket8,
|
|
ticket9,
|
|
ticket10,
|
|
ticket11,
|
|
ticket12,
|
|
ticket13,
|
|
ticket14,
|
|
ticket15,
|
|
ticket16,
|
|
ticket17,
|
|
ticket18,
|
|
ticket_with_id_1
|
|
]
|
|
|
|
for ticket in tickets
|
|
result = request('/staff/assign-ticket', {
|
|
ticketNumber: ticket['ticket_number'],
|
|
csrf_userid: $csrf_userid,
|
|
csrf_token: $csrf_token
|
|
})
|
|
|
|
(result['status']).should.equal('success')
|
|
|
|
ticket = $database.getRow('ticket', ticket['ticket_number'], 'ticket_number')
|
|
|
|
(ticket['owner_id']).should.equal(1)
|
|
|
|
staff_ticket = $database.getRow('staff_ticket', ticket['id'].to_i , 'ticket_id')
|
|
|
|
(staff_ticket['staff_id']).should.equal(1)
|
|
(staff_ticket['ticket_id']).should.equal(ticket['id'])
|
|
end
|
|
end
|
|
it 'should assign ticket if a staff choose another to assing a ticket ' do
|
|
staffId = $database.getRow('staff','ayra2@opensupports.com','email')['id']
|
|
|
|
ticket = $database.getRow('ticket', 'Winter is coming!', 'title')
|
|
result = request('/staff/assign-ticket', {
|
|
ticketNumber: ticket['ticket_number'],
|
|
staffId: staffId,
|
|
csrf_userid: $csrf_userid,
|
|
csrf_token: $csrf_token
|
|
})
|
|
(result['status']).should.equal('success')
|
|
|
|
ticket = $database.getRow('ticket', 'Winter is coming!', 'title')
|
|
|
|
(ticket['owner_id']).should.equal(staffId)
|
|
|
|
(ticket['unread']).should.equal(1)
|
|
end
|
|
|
|
it 'should fail if ticket is already owned' do
|
|
ticket = $database.getRow('ticket', 'Should we pay?', 'title')
|
|
|
|
result = request('/staff/assign-ticket', {
|
|
ticketNumber: ticket['ticket_number'],
|
|
csrf_userid: $csrf_userid,
|
|
csrf_token: $csrf_token
|
|
})
|
|
|
|
(result['status']).should.equal('fail')
|
|
(result['message']).should.equal('TICKET_ALREADY_ASSIGNED')
|
|
end
|
|
|
|
end
|