opensupports/tests/ticket/edit-title.rb

76 lines
2.6 KiB
Ruby
Raw Normal View History

2020-01-02 13:55:55 +01:00
describe '/ticket/edit-title' do
request('/user/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']
2020-01-07 21:11:52 +01:00
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
2020-01-02 13:55:55 +01:00
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')
2020-05-13 07:51:51 +02:00
(ticket['edited_title']).should.equal(1)
2020-01-02 13:55:55 +01:00
end
it 'should change the title of the ticket if staff is logged' do
request('/user/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')
2020-05-13 07:51:51 +02:00
(ticket['edited_title']).should.equal(1)
2020-01-02 13:55:55 +01:00
end
it 'should not change the title if the user is not the author' do
request('/user/logout')
Scripts.login($staff[:email], $staff[:password], true)
Scripts.createTicket('Winterfell')
ticket = $database.getRow('ticket', 'Winterfell', 'title')
request('/user/logout')
Scripts.login()
result = request('/ticket/edit-title', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
title: 'Casterly Rock',
2020-01-07 21:11:52 +01:00
ticketNumber: ticket['ticket_number']
2020-01-02 13:55:55 +01:00
})
(result['status']).should.equal('fail')
(result['message']).should.equal('NO_PERMISSION')
end
end