123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- # encoding: utf-8
- require 'test_helper'
- class UserTest < ActiveSupport::TestCase
- test 'user' do
- tests = [
- {
- name: '#1 - simple create',
- create: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- email: 'some@example.com',
- login: 'some@example.com',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- image: nil,
- fullname: 'Firstname Lastname',
- email: 'some@example.com',
- login: 'some@example.com',
- },
- },
- {
- name: '#2 - simple create - no lastname',
- create: {
- firstname: 'Firstname Lastname',
- lastname: '',
- email: 'some@example.com',
- login: 'some@example.com',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- image: nil,
- email: 'some@example.com',
- login: 'some@example.com',
- },
- },
- {
- name: '#3 - simple create - nil as lastname',
- create: {
- firstname: 'Firstname Lastname',
- lastname: '',
- email: 'some@example.com',
- login: 'some@example.com',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- image: nil,
- email: 'some@example.com',
- login: 'some@example.com',
- },
- },
- {
- name: '#4 - simple create - no lastname, firstname with ","',
- create: {
- firstname: 'Lastname, Firstname',
- lastname: '',
- email: 'some@example.com',
- login: 'some@example.com',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- email: 'some@example.com',
- login: 'some@example.com',
- },
- },
- {
- name: '#5 - simple create - no lastname/firstname',
- create: {
- firstname: '',
- lastname: '',
- email: 'firstname.lastname@example.com',
- login: 'login-1',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- fullname: 'Firstname Lastname',
- email: 'firstname.lastname@example.com',
- login: 'login-1',
- },
- },
- {
- name: '#6 - simple create - no lastname/firstnam',
- create: {
- firstname: '',
- lastname: '',
- email: 'FIRSTNAME.lastname@example.com',
- login: 'login-2',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- email: 'firstname.lastname@example.com',
- login: 'login-2',
- },
- },
- {
- name: '#7 - simple create - nill as fristname and lastname',
- create: {
- firstname: '',
- lastname: '',
- email: 'FIRSTNAME.lastname@example.com',
- login: 'login-3',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- email: 'firstname.lastname@example.com',
- 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',
- image: nil,
- email: 'bob.smith@example.com',
- login: 'login-4',
- },
- update: {
- email: 'unit-test1@znuny.com',
- },
- update_verify: {
- firstname: 'Bob',
- lastname: 'Smith',
- image: 'a6f7f7f9dac25b2c023d403ef998801c',
- image_md5: 'a6f7f7f9dac25b2c023d403ef998801c',
- 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,
- },
- create_verify: {
- firstname: 'Bob',
- lastname: 'Smith',
- image: '8765a1ac93f54405d8dfdd856c48c31f',
- image_md5: '8765a1ac93f54405d8dfdd856c48c31f',
- email: 'unit-test2@znuny.com',
- login: 'login-5',
- },
- update: {
- email: 'unit-test1@znuny.com',
- },
- update_verify: {
- firstname: 'Bob',
- lastname: 'Smith',
- image: 'a6f7f7f9dac25b2c023d403ef998801c',
- image_md5: 'a6f7f7f9dac25b2c023d403ef998801c',
- email: 'unit-test1@znuny.com',
- login: 'login-5',
- }
- },
- {
- name: '#10 - update create with login/email check',
- create: {
- firstname: '',
- lastname: '',
- email: 'caoyaoewfzfw@21222cn.com',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: '',
- lastname: '',
- fullname: 'caoyaoewfzfw@21222cn.com',
- email: 'caoyaoewfzfw@21222cn.com',
- login: 'caoyaoewfzfw@21222cn.com',
- },
- update: {
- email: 'caoyaoewfzfw@212224cn.com',
- },
- update_verify: {
- firstname: '',
- lastname: '',
- email: 'caoyaoewfzfw@212224cn.com',
- fullname: 'caoyaoewfzfw@212224cn.com',
- login: 'caoyaoewfzfw@212224cn.com',
- }
- },
- {
- name: '#11 - update create with login/email check',
- create: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- email: 'some_tEst11@example.com',
- updated_by_id: 1,
- created_by_id: 1,
- },
- create_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- fullname: 'Firstname Lastname',
- email: 'some_test11@example.com',
- },
- update: {
- email: 'some_Test11-1@example.com',
- },
- update_verify: {
- firstname: 'Firstname',
- lastname: 'Lastname',
- email: 'some_test11-1@example.com',
- fullname: 'Firstname Lastname',
- login: 'some_test11-1@example.com',
- }
- },
- ]
- tests.each { |test|
- # check if user exists
- user = User.where( login: test[:create][:login] ).first
- if user
- user.destroy
- end
- user = User.create( test[:create] )
- test[:create_verify].each { |key, value|
- next if key == :image_md5
- if user.respond_to?( key )
- assert_equal( value, user.send(key), "create check #{ key } in (#{ test[:name] })" )
- else
- assert_equal( value, user[key], "create check #{ key } in (#{ test[:name] })" )
- end
- }
- if test[:create_verify][:image_md5]
- file = Avatar.get_by_hash( user.image )
- file_md5 = Digest::MD5.hexdigest( file.content )
- 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
- if user.respond_to?( key )
- assert_equal( value, user.send(key), "update check #{ key } in (#{ test[:name] })" )
- else
- assert_equal( value, user[key], "update check #{ key } in (#{ test[:name] })" )
- end
- }
- if test[:update_verify][:image_md5]
- file = Avatar.get_by_hash( user.image )
- file_md5 = Digest::MD5.hexdigest( file.content )
- assert_equal( test[:update_verify][:image_md5], file_md5, "update avatar md5 check in (#{ test[:name] })" )
- end
- end
- user.destroy
- }
- end
- end
|