opensupports/tests/system/edit-department.rb

89 lines
2.7 KiB
Ruby

describe'system/edit-department' do
Scripts.logout()
Scripts.login($staff[:email], $staff[:password], true)
it 'should edit department' do
result= request('/system/edit-department', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
name: 'second name',
departmentId: 4
})
(result['status']).should.equal('success')
row = $database.getRow('department', 4, 'id')
(row['name']).should.equal('second name')
lastLog = $database.getLastRow('log')
(lastLog['type']).should.equal('EDIT_DEPARTMENT')
end
it 'should fail if name is invalid' do
result = request('/system/edit-department', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
name: '',
departmentId: 4
})
result['status'].should.equal('fail')
result['message'].should.equal('INVALID_NAME')
long_name = ''
201.times {long_name << 'A'}
result = request('/system/edit-department', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
name: long_name,
departmentId: 4
})
result['status'].should.equal('fail')
result['message'].should.equal('INVALID_NAME')
end
it 'should success if you change for the same name' do
Scripts.createDepartment('thisisAnewName')
department = $database.getLastRow('department')
(department['private']).should.equal(0)
result = request('/system/edit-department', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
name: department['name'],
departmentId: department['id'],
private:1
})
row = $database.getRow('department', 'thisisAnewName', 'name')
(row['private']).should.equal(1)
result['status'].should.equal('success')
end
it 'shouild fail if you use an used name' do
Scripts.createDepartment('thistitleisunique')
lastDepartment = $database.getLastRow('department')
result = request('/system/edit-department', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token,
name: 'thisisAnewName',
departmentId: lastDepartment['id'],
private:1
})
result['status'].should.equal('fail')
result['message'].should.equal('NAME_ALREADY_USED')
end
end