opensupports/tests/user/edit-email.rb

107 lines
3.1 KiB
Ruby

describe '/user/edit-email' do
Scripts.logout()
result = request('/user/login', {
email: 'steve@jobs.com',
password: 'custompassword'
})
$csrf_userid = result['data']['userId']
$csrf_token = result['data']['token']
it 'should fail if new email is incorrect' do
result = request('/user/edit-email', {
newEmail: 'newemail@jobscom',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_EMAIL')
result = request('/user/edit-email', {
newEmail: 'newemailjobs.com',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_EMAIL')
end
it 'should change email' do
result = request('/user/edit-email', {
newEmail: 'newemail@jobs.com',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
result = request('/user/edit-email', {
newEmail: 'steve@jobs.com',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
end
it 'should success if email selected is used by himself' do
Scripts.logout()
Scripts.createUser('miare@os4.com','sellamamarlos', 'maria')
result = request('/user/login', {
email: 'miare@os4.com',
password: 'sellamamarlos'
})
(result['status']).should.equal('success')
$csrf_userid = result['data']['userId']
$csrf_token = result['data']['token']
row = $database.getRow('user', 'miare@os4.com', 'email')
result = request('/user/edit-email', {
newEmail: row['email'],
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
row = $database.getRow('user', 'miare@os4.com', 'email')
(row['email']).should.equal('miare@os4.com')
end
it 'should fail if email selected is already used' do
staffRow = $database.getRow('staff', 1, 'id')
userRow = $database.getRow('user', 1, 'id')
result = request('/user/edit-email', {
newEmail: staffRow['email'],
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_EMAIL')
row = $database.getRow('user', 'miare@os4.com', 'email')
(row['email']).should.equal('miare@os4.com')
result = request('/user/edit-email', {
newEmail: userRow['email'],
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_EMAIL')
row = $database.getRow('user', 'miare@os4.com', 'email')
(row['email']).should.equal('miare@os4.com')
end
end