opensupports/tests/user/edit-email.rb
Guillermo Giuliana b9f5f7fcf1
[DEV-205] Users/Staffs should not be able to change the email for one already used by another user/staff (#1121)
* add verification of email on staffs

* add email verification users

* fix inviteStaff ruby test function

* add edit staff ruby tests

* add edit user ruby tests

* update other ruby tests
2021-12-28 00:26:55 -03:00

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