opensupports/tests/ticket/edit-title.rb

76 lines
2.5 KiB
Ruby

describe '/ticket/edit-title' do
Scripts.logout()
Scripts.login()
Scripts.createTicket('Valar Morghulis','content of the ticket made by an user')
ticket = $database.getRow('ticket', 'Valar Morghulis', 'title')
ticketNumber = ticket['ticket_number']
it 'should fail change title of the ticket if the title is invalid' do
result = request('/ticket/edit-title', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
title: '',
ticketNumber: ticket['ticket_number']
})
ticket = $database.getRow('ticket', ticketNumber, 'ticket_number')
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_TITLE')
end
it 'should change title of the ticket if the author user tries it' do
result = request('/ticket/edit-title', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
title: 'Valar dohaeris',
ticketNumber: ticket['ticket_number']
})
ticket = $database.getRow('ticket', ticketNumber, 'ticket_number')
(result['status']).should.equal('success')
(ticket['title']).should.equal('Valar dohaeris')
(ticket['edited_title']).should.equal(1)
end
it 'should change the title of the ticket if staff is logged' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
result = request('/ticket/edit-title', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
title: 'Valar dohaeris by Staff',
ticketNumber: ticket['ticket_number']
})
ticket = $database.getRow('ticket', ticketNumber, 'ticket_number')
(result['status']).should.equal('success')
(ticket['title']).should.equal('Valar dohaeris by Staff')
(ticket['edited_title']).should.equal(1)
end
it 'should not change the title if the user is not the author' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
Scripts.createTicket('Winterfell')
ticket = $database.getRow('ticket', 'Winterfell', 'title')
Scripts.logout()
Scripts.login()
result = request('/ticket/edit-title', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
title: 'Casterly Rock',
ticketNumber: ticket['ticket_number']
})
(result['status']).should.equal('fail')
(result['message']).should.equal('NO_PERMISSION')
end
end