89 lines
2.7 KiB
Ruby
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
|