opensupports/tests/system/edit-settings.rb

116 lines
3.9 KiB
Ruby
Executable File

describe'system/edit-settings' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
it 'should edit settings' do
result = request('/system/edit-settings', {
"csrf_userid" => $csrf_userid,
"csrf_token" => $csrf_token,
"maintenance-mode" => 0,
"layout" => 'full-width',
"allow-attachments" => 1,
"max-size" => 2,
"language" => 'en',
"server-email" => 'testemail@hotmail.com',
"default-is-locked" => 1
})
(result['status']).should.equal('success')
row = $database.getRow('setting', 'maintenance-mode', 'name')
(row['value']).should.equal('0')
row = $database.getRow('setting', 'layout', 'name')
(row['value']).should.equal('full-width')
row = $database.getRow('setting', 'max-size', 'name')
(row['value']).should.equal('2')
row = $database.getRow('setting', 'language', 'name')
(row['value']).should.equal('en')
row = $database.getRow('setting', 'server-email', 'name')
(row['value']).should.equal('testemail@hotmail.com')
row = $database.getRow('setting', 'default-is-locked', 'name')
(row['value']).should.equal('1')
Scripts.logout()
end
it 'should fail if supported languages are invalid' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
result= request('/system/edit-settings', {
"csrf_userid" => $csrf_userid,
"csrf_token" => $csrf_token,
"supportedLanguages" => '["en", "pt", "jp", "ru", "de"]',
"allowedLanguages" => '["en", "pt", "jp", "ru"]'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_SUPPORTED_LANGUAGES')
end
it 'should change allowed and supported languages' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
result= request('/system/edit-settings', {
"csrf_userid" => $csrf_userid,
"csrf_token" => $csrf_token,
"supportedLanguages" => '["en", "pt", "jp", "ru"]',
"allowedLanguages" => '["en", "pt", "jp", "ru", "de"]'
})
(result['status']).should.equal('success')
row = $database.getRow('language', 'en', 'code')
(row['supported']).should.equal(1)
row = $database.getRow('language', 'pt', 'code')
(row['supported']).should.equal(1)
row = $database.getRow('language', 'jp', 'code')
(row['supported']).should.equal(1)
row = $database.getRow('language', 'ru', 'code')
(row['supported']).should.equal(1)
row = $database.getRow('language', 'en', 'code')
(row['allowed']).should.equal(1)
row = $database.getRow('language', 'pt', 'code')
(row['allowed']).should.equal(1)
row = $database.getRow('language', 'jp', 'code')
(row['allowed']).should.equal(1)
row = $database.getRow('language', 'ru', 'code')
(row['allowed']).should.equal(1)
row = $database.getRow('language', 'de', 'code')
(row['allowed']).should.equal(1)
lastLog = $database.getLastRow('log')
(lastLog['type']).should.equal('EDIT_SETTINGS')
Scripts.updateLockedDepartmentSetting(0)
Scripts.logout()
end
it 'should delete ticket when user table is not created' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
Scripts.createTicket('TicketToDeleteWithoutUsersCreated')
ticket = $database.getRow('ticket', 'TicketToDeleteWithoutUsersCreated', 'title')
result = request('/ticket/delete', {
ticketNumber: ticket['ticket_number'],
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
end
end