Skip to content

Instantly share code, notes, and snippets.

@razielgn
Created August 5, 2011 12:56
Show Gist options
  • Save razielgn/1127481 to your computer and use it in GitHub Desktop.
Save razielgn/1127481 to your computer and use it in GitHub Desktop.
arnold test issues
.........F..
Failures:
1) MongoidDocument it should behave like Arnold#tempfile should store the yaml-ized object into a tempfile
Failure/Error: attributes = YAML.load_file(subject.send(:tempfile))
Mocha::ExpectationError:
unexpected invocation: {"rvm_gemsets_path"=>"/Users/razielgn/.rvm/gemsets", "rvm_scripts_path"=>"/Users/razielgn/.rvm/scripts", "rvm_bin_path"=>"/Users/razielgn/.rvm/bin", "TERM_PROGRAM"=>"Apple_Terminal", "GEM_HOME"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290", "rvm_man_path"=>"/Users/razielgn/.rvm/man", "TERM"=>"xterm-color", "SHELL"=>"/bin/bash", "IRBRC"=>"/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290/.irbrc", "TMPDIR"=>"/var/folders/Yv/Yv7orkkAEuC5HyLxCdMu5k+++TI/-Tmp-/", "rvm_user_path"=>"/Users/razielgn/.rvm/user", "Apple_PubSub_Socket_Render"=>"/tmp/launch-GN0Du6/Render", "rvm_wrappers_path"=>"/Users/razielgn/.rvm/wrappers", "TERM_PROGRAM_VERSION"=>"273", "rvm_patches_path"=>"/Users/razielgn/.rvm/patches", "OLDPWD"=>"/Users/razielgn", "MY_RUBY_HOME"=>"/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290", "rvm_docs_path"=>"/Users/razielgn/.rvm/docs", "rvm_verbose_flag"=>"0", "USER"=>"razielgn", "rvm_gems_cache_path"=>"/Users/razielgn/.rvm/gems/cache", "COMMAND_MODE"=>"unix2003", "rvm_config_path"=>"/Users/razielgn/.rvm/config", "rvm_path"=>"/Users/razielgn/.rvm", "rvm_debug_flag"=>"0", "SSH_AUTH_SOCK"=>"/tmp/launch-SQOLPy/Listeners", "__CF_USER_TEXT_ENCODING"=>"0x1F5:0:0", "rvm_prefix"=>"/Users/razielgn", "rvm_examples_path"=>"/Users/razielgn/.rvm/examples", "PATH"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290/bin:/Users/razielgn/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/razielgn/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", "rvm_rubies_path"=>"/Users/razielgn/.rvm/rubies", "rvm_loaded_flag"=>"1", "PWD"=>"/Volumes/Anessa/Users/razielgn/dev/ruby/arnold", "LANG"=>"en_US.UTF-8", "rvm_usr_path"=>"/Users/razielgn/.rvm/usr", "rvm_version"=>"1.6.32", "rvm_src_path"=>"/Users/razielgn/.rvm/src", "SHLVL"=>"1", "HOME"=>"/Users/razielgn", "rvm_gems_path"=>"/Users/razielgn/.rvm/gems", "rvm_ruby_string"=>"ruby-1.9.2-p290", "rvm_tmp_path"=>"/Users/razielgn/.rvm/tmp", "LOGNAME"=>"razielgn", "GEM_PATH"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290:/Users/razielgn/.rvm/gems/ruby-1.9.2-p290@global", "rvm_lib_path"=>"/Users/razielgn/.rvm/lib", "rvm_repos_path"=>"/Users/razielgn/.rvm/repos", "rvm_reload_flag"=>"0", "rvm_log_path"=>"/Users/razielgn/.rvm/log", "rvm_help_path"=>"/Users/razielgn/.rvm/help", "rvm_environments_path"=>"/Users/razielgn/.rvm/environments", "RUBY_VERSION"=>"ruby-1.9.2-p290", "rvm_archives_path"=>"/Users/razielgn/.rvm/archives", "rvm_user_install_flag"=>"1", "_"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290/bin/rspec"}.[]('TMPDIR')
unsatisfied expectations:
- expected exactly once, not yet invoked: #<ActiveRecordRow:0x100d1fd20>.save!(any_parameters)
- expected exactly once, not yet invoked: #<ActiveRecordRow:0x100d1fd20>.edit(any_parameters)
- expected exactly once, not yet invoked: #<MongoidDocument:0x100c4a968>.save!(any_parameters)
- expected exactly once, not yet invoked: #<MongoidDocument:0x100c4a968>.edit(any_parameters)
satisfied expectations:
- allowed any number of times, invoked once: #<ActiveRecordRow:0x100d3faf8>.change(any_parameters)
- allowed any number of times, not yet invoked: #<ActiveRecordRow:0x100d1fd20>.change(any_parameters)
- allowed any number of times, invoked once: {"rvm_gemsets_path"=>"/Users/razielgn/.rvm/gemsets", "rvm_scripts_path"=>"/Users/razielgn/.rvm/scripts", "rvm_bin_path"=>"/Users/razielgn/.rvm/bin", "TERM_PROGRAM"=>"Apple_Terminal", "GEM_HOME"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290", "rvm_man_path"=>"/Users/razielgn/.rvm/man", "TERM"=>"xterm-color", "SHELL"=>"/bin/bash", "IRBRC"=>"/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290/.irbrc", "TMPDIR"=>"/var/folders/Yv/Yv7orkkAEuC5HyLxCdMu5k+++TI/-Tmp-/", "rvm_user_path"=>"/Users/razielgn/.rvm/user", "Apple_PubSub_Socket_Render"=>"/tmp/launch-GN0Du6/Render", "rvm_wrappers_path"=>"/Users/razielgn/.rvm/wrappers", "TERM_PROGRAM_VERSION"=>"273", "rvm_patches_path"=>"/Users/razielgn/.rvm/patches", "OLDPWD"=>"/Users/razielgn", "MY_RUBY_HOME"=>"/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290", "rvm_docs_path"=>"/Users/razielgn/.rvm/docs", "rvm_verbose_flag"=>"0", "USER"=>"razielgn", "rvm_gems_cache_path"=>"/Users/razielgn/.rvm/gems/cache", "COMMAND_MODE"=>"unix2003", "rvm_config_path"=>"/Users/razielgn/.rvm/config", "rvm_path"=>"/Users/razielgn/.rvm", "rvm_debug_flag"=>"0", "SSH_AUTH_SOCK"=>"/tmp/launch-SQOLPy/Listeners", "__CF_USER_TEXT_ENCODING"=>"0x1F5:0:0", "rvm_prefix"=>"/Users/razielgn", "rvm_examples_path"=>"/Users/razielgn/.rvm/examples", "PATH"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290/bin:/Users/razielgn/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/razielgn/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", "rvm_rubies_path"=>"/Users/razielgn/.rvm/rubies", "rvm_loaded_flag"=>"1", "PWD"=>"/Volumes/Anessa/Users/razielgn/dev/ruby/arnold", "LANG"=>"en_US.UTF-8", "rvm_usr_path"=>"/Users/razielgn/.rvm/usr", "rvm_version"=>"1.6.32", "rvm_src_path"=>"/Users/razielgn/.rvm/src", "SHLVL"=>"1", "HOME"=>"/Users/razielgn", "rvm_gems_path"=>"/Users/razielgn/.rvm/gems", "rvm_ruby_string"=>"ruby-1.9.2-p290", "rvm_tmp_path"=>"/Users/razielgn/.rvm/tmp", "LOGNAME"=>"razielgn", "GEM_PATH"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290:/Users/razielgn/.rvm/gems/ruby-1.9.2-p290@global", "rvm_lib_path"=>"/Users/razielgn/.rvm/lib", "rvm_repos_path"=>"/Users/razielgn/.rvm/repos", "rvm_reload_flag"=>"0", "rvm_log_path"=>"/Users/razielgn/.rvm/log", "rvm_help_path"=>"/Users/razielgn/.rvm/help", "rvm_environments_path"=>"/Users/razielgn/.rvm/environments", "RUBY_VERSION"=>"ruby-1.9.2-p290", "rvm_archives_path"=>"/Users/razielgn/.rvm/archives", "rvm_user_install_flag"=>"1", "_"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290/bin/rspec"}.[]('EDITOR')
- allowed any number of times, invoked once: {"rvm_gemsets_path"=>"/Users/razielgn/.rvm/gemsets", "rvm_scripts_path"=>"/Users/razielgn/.rvm/scripts", "rvm_bin_path"=>"/Users/razielgn/.rvm/bin", "TERM_PROGRAM"=>"Apple_Terminal", "GEM_HOME"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290", "rvm_man_path"=>"/Users/razielgn/.rvm/man", "TERM"=>"xterm-color", "SHELL"=>"/bin/bash", "IRBRC"=>"/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290/.irbrc", "TMPDIR"=>"/var/folders/Yv/Yv7orkkAEuC5HyLxCdMu5k+++TI/-Tmp-/", "rvm_user_path"=>"/Users/razielgn/.rvm/user", "Apple_PubSub_Socket_Render"=>"/tmp/launch-GN0Du6/Render", "rvm_wrappers_path"=>"/Users/razielgn/.rvm/wrappers", "TERM_PROGRAM_VERSION"=>"273", "rvm_patches_path"=>"/Users/razielgn/.rvm/patches", "OLDPWD"=>"/Users/razielgn", "MY_RUBY_HOME"=>"/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290", "rvm_docs_path"=>"/Users/razielgn/.rvm/docs", "rvm_verbose_flag"=>"0", "USER"=>"razielgn", "rvm_gems_cache_path"=>"/Users/razielgn/.rvm/gems/cache", "COMMAND_MODE"=>"unix2003", "rvm_config_path"=>"/Users/razielgn/.rvm/config", "rvm_path"=>"/Users/razielgn/.rvm", "rvm_debug_flag"=>"0", "SSH_AUTH_SOCK"=>"/tmp/launch-SQOLPy/Listeners", "__CF_USER_TEXT_ENCODING"=>"0x1F5:0:0", "rvm_prefix"=>"/Users/razielgn", "rvm_examples_path"=>"/Users/razielgn/.rvm/examples", "PATH"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290/bin:/Users/razielgn/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/razielgn/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/razielgn/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin", "rvm_rubies_path"=>"/Users/razielgn/.rvm/rubies", "rvm_loaded_flag"=>"1", "PWD"=>"/Volumes/Anessa/Users/razielgn/dev/ruby/arnold", "LANG"=>"en_US.UTF-8", "rvm_usr_path"=>"/Users/razielgn/.rvm/usr", "rvm_version"=>"1.6.32", "rvm_src_path"=>"/Users/razielgn/.rvm/src", "SHLVL"=>"1", "HOME"=>"/Users/razielgn", "rvm_gems_path"=>"/Users/razielgn/.rvm/gems", "rvm_ruby_string"=>"ruby-1.9.2-p290", "rvm_tmp_path"=>"/Users/razielgn/.rvm/tmp", "LOGNAME"=>"razielgn", "GEM_PATH"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290:/Users/razielgn/.rvm/gems/ruby-1.9.2-p290@global", "rvm_lib_path"=>"/Users/razielgn/.rvm/lib", "rvm_repos_path"=>"/Users/razielgn/.rvm/repos", "rvm_reload_flag"=>"0", "rvm_log_path"=>"/Users/razielgn/.rvm/log", "rvm_help_path"=>"/Users/razielgn/.rvm/help", "rvm_environments_path"=>"/Users/razielgn/.rvm/environments", "RUBY_VERSION"=>"ruby-1.9.2-p290", "rvm_archives_path"=>"/Users/razielgn/.rvm/archives", "rvm_user_install_flag"=>"1", "_"=>"/Users/razielgn/.rvm/gems/ruby-1.9.2-p290/bin/rspec"}.[]('EDITOR')
- allowed any number of times, invoked once: #<MongoidDocument:0x100ccbfe0>.change(any_parameters)
- allowed any number of times, not yet invoked: #<MongoidDocument:0x100c4a968>.change(any_parameters)
Shared Example Group: "Arnold" called from ./spec/mongoid_spec.rb:8
# ./lib/arnold.rb:23:in `new'
# ./lib/arnold.rb:23:in `tempfile'
# ./spec/arnold_shared_examples.rb:40:in `block (3 levels) in <top (required)>'
Finished in 0.02018 seconds
12 examples, 1 failure
Failed examples:
rspec ./spec/arnold_shared_examples.rb:39 # MongoidDocument it should behave like Arnold#tempfile should store the yaml-ized object into a tempfile
require 'arnold_shared_examples'
require 'nulldb_rspec'
ActiveRecord::Base.class_eval do
alias_method :save, :valid?
def self.columns; @columns ||= []; end
def self.column(name, sql_type = nil, default = nil, null = true)
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type, null)
end
end
ActiveRecord::Base.establish_connection :adapter => :nulldb
class ActiveRecordRow < ActiveRecord::Base
column :name
column :other_name
end
describe ActiveRecordRow do
it_should_behave_like 'Arnold'
end
require 'mongoid'
require 'active_record'
require 'mocha'
require 'arnold'
shared_examples_for 'Arnold' do
before do
subject.send(:write_attribute, :name, 'Arnold')
end
it 'should have Arnold included automatically' do
subject.class.ancestors.should include Arnold
end
describe '#edit' do
it "should update the object's fields" do
subject.stubs(:change).returns({:name => 'Bob'}.to_yaml)
subject.edit
subject.read_attribute(:name).should == 'Bob'
end
end
describe '#edit!' do
it "should update and save the object" do
subject.stubs(:change).returns({:name => 'Bob'}.to_yaml)
subject.expects(:edit)
subject.expects(:save!)
end
end
describe '#tempfile' do
it 'should store the yaml-ized object into a tempfile' do
attributes = YAML.load_file(subject.send(:tempfile))
attributes['name'].should == 'Arnold'
end
end
describe '#editor' do
it "should return vi by default" do
ENV.stubs(:[]).with('EDITOR').returns nil
subject.send(:editor).should == 'vi'
end
it "should return vi by default" do
ENV.stubs(:[]).with('EDITOR').returns 'mate'
subject.send(:editor).should == 'mate'
end
end
end
require 'arnold_shared_examples'
class MongoidDocument
include Mongoid::Document
end
describe MongoidDocument do
it_should_behave_like 'Arnold'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment