2012-10-25 22:12:16 +00:00
|
|
|
# encoding: utf-8
|
|
|
|
require 'test_helper'
|
2014-07-27 11:40:42 +00:00
|
|
|
|
2012-10-25 22:12:16 +00:00
|
|
|
class UserTest < ActiveSupport::TestCase
|
|
|
|
test 'user' do
|
|
|
|
tests = [
|
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#1 - simple create',
|
2012-10-25 22:12:16 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-10-25 22:12:16 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
2014-12-01 07:32:35 +00:00
|
|
|
:image => nil,
|
2012-10-25 22:12:16 +00:00
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#2 - simple create - no lastname',
|
2012-10-25 22:12:16 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => 'Firstname Lastname',
|
|
|
|
:lastname => '',
|
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-10-25 22:12:16 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
2014-12-01 07:32:35 +00:00
|
|
|
:image => nil,
|
2012-10-25 22:12:16 +00:00
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
|
|
|
},
|
|
|
|
},
|
2012-11-02 07:14:59 +00:00
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#3 - simple create - nil as lastname',
|
2012-11-02 07:14:59 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => 'Firstname Lastname',
|
|
|
|
:lastname => nil,
|
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-11-02 07:14:59 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
2014-12-01 07:32:35 +00:00
|
|
|
:image => nil,
|
2012-11-02 07:14:59 +00:00
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
|
|
|
},
|
|
|
|
},
|
2012-10-25 22:12:16 +00:00
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#4 - simple create - no lastname, firstname with ","',
|
2012-10-25 22:12:16 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => 'Lastname, Firstname',
|
|
|
|
:lastname => '',
|
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-10-25 22:12:16 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
|
|
|
:email => 'some@example.com',
|
|
|
|
:login => 'some@example.com',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#5 - simple create - no lastname/firstname',
|
2012-10-25 22:12:16 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => '',
|
|
|
|
:lastname => '',
|
|
|
|
:email => 'firstname.lastname@example.com',
|
2014-07-27 11:40:42 +00:00
|
|
|
:login => 'login-1',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-10-25 22:12:16 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
|
|
|
:email => 'firstname.lastname@example.com',
|
2014-07-27 11:40:42 +00:00
|
|
|
:login => 'login-1',
|
2012-10-25 22:12:16 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#6 - simple create - no lastname/firstnam',
|
2012-10-25 22:12:16 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => '',
|
|
|
|
:lastname => '',
|
|
|
|
:email => 'FIRSTNAME.lastname@example.com',
|
2014-07-27 11:40:42 +00:00
|
|
|
:login => 'login-2',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-10-25 22:12:16 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
|
|
|
:email => 'firstname.lastname@example.com',
|
2014-07-27 11:40:42 +00:00
|
|
|
:login => 'login-2',
|
2012-10-25 22:12:16 +00:00
|
|
|
},
|
|
|
|
},
|
2012-11-02 07:14:59 +00:00
|
|
|
{
|
2014-07-27 11:40:42 +00:00
|
|
|
:name => '#7 - simple create - nill as fristname and lastname',
|
2012-11-02 07:14:59 +00:00
|
|
|
:create => {
|
|
|
|
:firstname => nil,
|
|
|
|
:lastname => nil,
|
|
|
|
:email => 'FIRSTNAME.lastname@example.com',
|
2014-07-27 11:40:42 +00:00
|
|
|
:login => 'login-3',
|
2012-11-07 14:50:52 +00:00
|
|
|
:updated_by_id => 1,
|
2012-11-02 07:14:59 +00:00
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Firstname',
|
|
|
|
:lastname => 'Lastname',
|
|
|
|
:email => 'firstname.lastname@example.com',
|
2014-07-27 11:40:42 +00:00
|
|
|
:login => 'login-3',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
:name => '#8 - update with avatar check',
|
|
|
|
:create => {
|
|
|
|
:firstname => 'Bob',
|
|
|
|
:lastname => 'Smith',
|
|
|
|
:email => 'bob.smith@example.com',
|
|
|
|
:login => 'login-4',
|
|
|
|
:updated_by_id => 1,
|
|
|
|
:created_by_id => 1,
|
|
|
|
},
|
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Bob',
|
|
|
|
:lastname => 'Smith',
|
2014-12-01 07:32:35 +00:00
|
|
|
:image => nil,
|
2014-07-27 11:40:42 +00:00
|
|
|
:email => 'bob.smith@example.com',
|
|
|
|
:login => 'login-4',
|
|
|
|
},
|
|
|
|
:update => {
|
|
|
|
:email => 'unit-test1@znuny.com',
|
|
|
|
},
|
|
|
|
:update_verify => {
|
|
|
|
:firstname => 'Bob',
|
|
|
|
:lastname => 'Smith',
|
2014-11-20 21:46:32 +00:00
|
|
|
:image => 'a6f7f7f9dac25b2c023d403ef998801c',
|
|
|
|
:image_md5 => 'a6f7f7f9dac25b2c023d403ef998801c',
|
2014-07-27 11:40:42 +00:00
|
|
|
:email => 'unit-test1@znuny.com',
|
|
|
|
:login => 'login-4',
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
:name => '#9 - update create with avatar check',
|
|
|
|
:create => {
|
|
|
|
:firstname => 'Bob',
|
|
|
|
:lastname => 'Smith',
|
|
|
|
:email => 'unit-test2@znuny.com',
|
|
|
|
:login => 'login-5',
|
|
|
|
:updated_by_id => 1,
|
|
|
|
:created_by_id => 1,
|
2012-11-02 07:14:59 +00:00
|
|
|
},
|
2014-07-27 11:40:42 +00:00
|
|
|
:create_verify => {
|
|
|
|
:firstname => 'Bob',
|
|
|
|
:lastname => 'Smith',
|
2014-11-20 22:04:48 +00:00
|
|
|
:image => '8765a1ac93f54405d8dfdd856c48c31f',
|
|
|
|
:image_md5 => '8765a1ac93f54405d8dfdd856c48c31f',
|
2014-07-27 11:40:42 +00:00
|
|
|
:email => 'unit-test2@znuny.com',
|
|
|
|
:login => 'login-5',
|
|
|
|
},
|
|
|
|
:update => {
|
|
|
|
:email => 'unit-test1@znuny.com',
|
|
|
|
},
|
|
|
|
:update_verify => {
|
|
|
|
:firstname => 'Bob',
|
|
|
|
:lastname => 'Smith',
|
2014-11-20 21:46:32 +00:00
|
|
|
:image => 'a6f7f7f9dac25b2c023d403ef998801c',
|
|
|
|
:image_md5 => 'a6f7f7f9dac25b2c023d403ef998801c',
|
2014-07-27 11:40:42 +00:00
|
|
|
:email => 'unit-test1@znuny.com',
|
|
|
|
:login => 'login-5',
|
|
|
|
}
|
2012-11-02 07:14:59 +00:00
|
|
|
},
|
2012-10-25 22:12:16 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
tests.each { |test|
|
|
|
|
|
2014-07-27 11:40:42 +00:00
|
|
|
# check if user exists
|
|
|
|
user = User.where( :login => test[:create][:login] ).first
|
|
|
|
if user
|
|
|
|
user.destroy
|
|
|
|
end
|
|
|
|
|
2012-10-25 22:12:16 +00:00
|
|
|
user = User.create( test[:create] )
|
|
|
|
|
|
|
|
test[:create_verify].each { |key, value|
|
2014-07-27 11:40:42 +00:00
|
|
|
next if key == :image_md5
|
|
|
|
assert_equal( value, user[key], "create check #{ key } in (#{ test[:name] })" )
|
2012-10-25 22:12:16 +00:00
|
|
|
}
|
2014-07-27 11:40:42 +00:00
|
|
|
if test[:create_verify][:image_md5]
|
2014-12-01 07:32:35 +00:00
|
|
|
file = Avatar.get_by_hash( user.image )
|
|
|
|
file_md5 = Digest::MD5.hexdigest( file.content )
|
2014-07-27 11:40:42 +00:00
|
|
|
assert_equal( test[:create_verify][:image_md5], file_md5, "create avatar md5 check in (#{ test[:name] })" )
|
|
|
|
end
|
|
|
|
if test[:update]
|
|
|
|
user.update_attributes( test[:update] )
|
|
|
|
|
|
|
|
test[:update_verify].each { |key, value|
|
|
|
|
next if key == :image_md5
|
|
|
|
assert_equal( value, user[key], "update check #{ key } in (#{ test[:name] })" )
|
|
|
|
}
|
|
|
|
|
|
|
|
if test[:update_verify][:image_md5]
|
2014-12-01 07:32:35 +00:00
|
|
|
file = Avatar.get_by_hash( user.image )
|
|
|
|
file_md5 = Digest::MD5.hexdigest( file.content )
|
2014-07-27 11:40:42 +00:00
|
|
|
assert_equal( test[:update_verify][:image_md5], file_md5, "update avatar md5 check in (#{ test[:name] })" )
|
|
|
|
end
|
|
|
|
end
|
2012-10-25 22:12:16 +00:00
|
|
|
|
|
|
|
user.destroy
|
2014-07-27 11:40:42 +00:00
|
|
|
}
|
2012-10-25 22:12:16 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|