opensupports/tests/user/signup.rb

90 lines
2.5 KiB
Ruby
Raw Normal View History

2016-05-15 01:22:46 +02:00
describe '/user/signup' do
it 'should create user in database' do
response = request('/user/signup', {
:name => 'Steve Jobs',
:email => 'steve@jobs.com',
:password => 'custom'
2016-05-15 01:22:46 +02:00
})
userRow = $database.getRow('user', response['data']['userId'])
2016-05-15 01:22:46 +02:00
request('/user/verify', {
:email => 'steve@jobs.com',
:token => userRow['verification_token']
})
2016-05-15 01:22:46 +02:00
(userRow['email']).should.equal('steve@jobs.com')
2016-07-27 05:50:20 +02:00
(userRow['name']).should.equal('Steve Jobs')
2016-12-29 21:25:45 +01:00
lastLog = $database.getLastRow('log')
(lastLog['type']).should.equal('SIGNUP')
2016-05-15 01:22:46 +02:00
end
it 'should fail if name is invalid' do
long_text = ''
100.times {long_text << 'a'}
result = request('/user/signup', {
name: 't',
email: 'tyrion@outlook.com',
password: 'Lannister'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_NAME')
result = request('/user/signup', {
name: long_text,
email: 'tyrion@outlook.com',
password: 'Lannister'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_NAME')
end
it 'should fail if email is invalid' do
result = request('/user/signup', {
name: 'tyrion',
email: 'tyrionoutlook.com',
password: 'Lannister'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_EMAIL')
result = request('/user/signup', {
name: 'tyrion',
email: 'tyrion@outlookcom',
password: 'Lannister'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_EMAIL')
end
it 'should fail if password is invalid' do
result = request('/user/signup', {
name: 'tyrion',
email: 'tyrion@outlook.com',
password: 'Lann'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_PASSWORD')
long_text = ''
250.times {long_text << 'a'}
result = request('/user/signup', {
name: 'tyrion',
email: 'tyrion@outlook.com',
password: long_text
})
(result['status']).should.equal('fail')
(result['message']).should.equal('INVALID_PASSWORD')
end
2016-05-15 01:22:46 +02:00
end