From 3b83c471fb038c53c27de6d9ec291153b38e4a04 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Tue, 1 Oct 2013 12:24:15 -0300 Subject: [PATCH] stoa: use mock instead of fake db on test --- plugins/stoa/controllers/stoa_plugin_controller.rb | 2 +- plugins/stoa/install.rb | 3 --- plugins/stoa/test/functional/stoa_plugin_controller_test.rb | 43 ++++++++++++++++++++++--------------------- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/plugins/stoa/controllers/stoa_plugin_controller.rb b/plugins/stoa/controllers/stoa_plugin_controller.rb index eede9b2..96d03a8 100644 --- a/plugins/stoa/controllers/stoa_plugin_controller.rb +++ b/plugins/stoa/controllers/stoa_plugin_controller.rb @@ -40,7 +40,7 @@ class StoaPluginController < PublicController def check_cpf begin - render :text => { :exists => !StoaPlugin::UspUser.find_by_codpes(params[:usp_id]).cpf.blank? }.to_json + render :text => { :exists => StoaPlugin::UspUser.find_by_codpes(params[:usp_id]).cpf.present? }.to_json rescue Exception => exception render :text => { :exists => false, :error => {:message => exception.to_s, :backtrace => exception.backtrace} }.to_json end diff --git a/plugins/stoa/install.rb b/plugins/stoa/install.rb index f13b7fd..1fb70db 100644 --- a/plugins/stoa/install.rb +++ b/plugins/stoa/install.rb @@ -1,6 +1,3 @@ -#FIXME one functional test is failing -raise "Not ready yet..." - require 'fileutils' config_path = File.join('plugins', 'stoa', 'config.yml') diff --git a/plugins/stoa/test/functional/stoa_plugin_controller_test.rb b/plugins/stoa/test/functional/stoa_plugin_controller_test.rb index 4fa0288..938896a 100644 --- a/plugins/stoa/test/functional/stoa_plugin_controller_test.rb +++ b/plugins/stoa/test/functional/stoa_plugin_controller_test.rb @@ -12,27 +12,12 @@ class StoaPluginControllerTest < ActionController::TestCase @controller = StoaPluginController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new - @db = Tempfile.new('stoa-test') - configs = ActiveRecord::Base.configurations['stoa'] = {:adapter => 'sqlite3', :database => @db.path} - ActiveRecord::Base.establish_connection(:stoa) - ActiveRecord::Schema.verbose = false - ActiveRecord::Schema.create_table "pessoa" do |t| - t.integer "codpes" - t.text "numcpf" - t.date "dtanas" - end - ActiveRecord::Base.establish_connection(:test) + ActiveRecord::Base.configurations['stoa'] = {:adapter => 'sqlite3', :database => ':memory:', :verbosity => 'quiet'} env = Environment.default env.enable_plugin(StoaPlugin.name) env.enable('skip_new_user_email_confirmation') env.save! @user = create_user_full('real_user', {:password => '123456', :password_confirmation => '123456'}, {:usp_id => 9999999}) - StoaPlugin::UspUser.create!(:codpes => 12345678, :cpf => Digest::MD5.hexdigest(SALT+'12345678'), :birth_date => '1970-01-30') - end - - def teardown - @db.unlink - @user.destroy end attr_accessor :user @@ -70,23 +55,39 @@ class StoaPluginControllerTest < ActionController::TestCase end should 'check valid usp id' do - get :check_usp_id, :usp_id => '12345678' + usp_id = '12345678' + StoaPlugin::UspUser.stubs(:exists?).with(usp_id).returns(true) + get :check_usp_id, :usp_id => usp_id assert json_response['exists'] end should 'check invalid usp id' do - get :check_usp_id, :usp_id => '87654321' + usp_id = '87654321' + StoaPlugin::UspUser.stubs(:exists?).with(usp_id).returns(false) + get :check_usp_id, :usp_id => usp_id assert !json_response['exists'] end should 'check existent cpf' do - get :check_cpf, :usp_id => '12345678' + usp_id = '12345678' + user = mock + user.stubs(:cpf).returns('12345678') + StoaPlugin::UspUser.stubs(:find_by_codpes).with(usp_id).returns(user) + get :check_cpf, :usp_id => usp_id assert json_response['exists'] end should 'check not existent cpf' do - StoaPlugin::UspUser.create(:codpes => 87654321, :birth_date => '1970-01-30') - get :check_cpf, :usp_id => '87654321' + usp_id_with_cpf = '12345678' + user_with_cpf = mock + user_with_cpf.stubs(:cpf).returns('12345678') + StoaPlugin::UspUser.stubs(:find_by_codpes).with(usp_id_with_cpf).returns(user_with_cpf) + get :check_cpf, :usp_id => usp_id_with_cpf + usp_id_without_cpf = '87654321' + user_without_cpf = mock + user_with_cpf.stubs(:cpf).returns(nil) + StoaPlugin::UspUser.stubs(:find_by_codpes).with(usp_id_without_cpf).returns(user_without_cpf) + get :check_cpf, :usp_id => usp_id_without_cpf assert !json_response['exists'] end -- libgit2 0.21.2