Created
November 21, 2011 17:23
-
-
Save slbug/1383302 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Using the default profile... | |
Feature: Mount an Uploader on ActiveRecord class | |
In order to easily attach files to a form | |
As a web developer using CarrierWave | |
I want to mount an uploader on an ActiveRecord class | |
Background: | |
Given an uploader class that uses the 'file' storage | |
And an activerecord class that uses the 'users' table | |
And the uploader class is mounted on the 'avatar' column | |
And an instance of the activerecord class | |
Scenario: assign a file | |
When I assign the file 'fixtures/bork.txt' to the 'avatar' column | |
Then there should be a file called 'bork.txt' somewhere in a subdirectory of 'public/uploads/tmp' | |
And the file called 'bork.txt' in a subdirectory of 'public/uploads/tmp' should be identical to the file at 'fixtures/bork.txt' | |
Scenario: assign a file and save the record | |
When I assign the file 'fixtures/bork.txt' to the 'avatar' column | |
And I save the active record | |
Then there should be a file at 'public/uploads/bork.txt' | |
And the file at 'public/uploads/bork.txt' should be identical to the file at 'fixtures/bork.txt' | |
And the url for the column 'avatar' should be '/uploads/bork.txt' | |
Scenario: assign a file and retrieve it from cache | |
When I assign the file 'fixtures/bork.txt' to the 'avatar' column | |
And I retrieve the file later from the cache name for the column 'avatar' | |
And I save the active record | |
NoMethodError: undefined method `error' for nil:NilClass: INSERT INTO "users" ("avatar") VALUES (?) (ActiveRecord::StatementInvalid) | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:207:in `type_cast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:240:in `block (2 levels) in exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:239:in `map' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:239:in `block in exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:244:in `block in log' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:239:in `log' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:223:in `exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:63:in `exec_insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:90:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/relation.rb:70:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:313:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/timestamp.rb:51:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:268:in `block in create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:390:in `_run_create_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:268:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:294:in `create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264:in `block in create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:399:in `_run_save_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264:in `create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:57:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/validations.rb:56:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/attribute_methods/dirty.rb:33:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:246:in `block in save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:208:in `transaction' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:293:in `with_transaction_returning_status' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:246:in `save!' | |
~/work/.forks/cw1/features/step_definitions/activerecord_steps.rb:13:in `block in <top (required)>' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:48:in `block in cucumber_instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_step_definition.rb:62:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/step_match.rb:25:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_invocation.rb:59:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_invocation.rb:38:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:99:in `block in visit_step' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:15:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:14:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:14:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:93:in `block in visit_steps' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:55:in `block (2 levels) in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:79:in `block (2 levels) in with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:95:in `before_and_after' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:78:in `block in with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:120:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:120:in `block (3 levels) in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:13:in `block in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:95:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:95:in `execute_around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:12:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:119:in `block (2 levels) in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:117:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:117:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:90:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:77:in `with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:53:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:108:in `with_visitor' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:47:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:51:in `block in visit_feature_element' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:43:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:42:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:42:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:20:in `block in visit_feature' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:29:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:17:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:17:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:28:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:14:in `block in visit_features' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:45:in `run!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/cli/main.rb:43:in `execute!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/cli/main.rb:20:in `execute' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/bin/cucumber:14:in `<top (required)>' | |
~/.rvm/gems/ruby-1.9.3-p0/bin/cucumber:19:in `load' | |
~/.rvm/gems/ruby-1.9.3-p0/bin/cucumber:19:in `<main>' | |
features/mount_activerecord.feature:27:in `And I save the active record' | |
Then there should be a file at 'public/uploads/bork.txt' | |
And the file at 'public/uploads/bork.txt' should be identical to the file at 'fixtures/bork.txt' | |
And the url for the column 'avatar' should be '/uploads/bork.txt' | |
Scenario: store a file and retrieve it later | |
When I assign the file 'fixtures/bork.txt' to the 'avatar' column | |
And I retrieve the file later from the cache name for the column 'avatar' | |
And I save the active record | |
NoMethodError: undefined method `error' for nil:NilClass: INSERT INTO "users" ("avatar") VALUES (?) (ActiveRecord::StatementInvalid) | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:207:in `type_cast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:240:in `block (2 levels) in exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:239:in `map' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:239:in `block in exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:244:in `block in log' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:239:in `log' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:223:in `exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:63:in `exec_insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:90:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/relation.rb:70:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:313:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/timestamp.rb:51:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:268:in `block in create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:390:in `_run_create_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:268:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:294:in `create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264:in `block in create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:399:in `_run_save_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264:in `create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:57:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/validations.rb:56:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/attribute_methods/dirty.rb:33:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:246:in `block in save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:208:in `transaction' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:293:in `with_transaction_returning_status' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:246:in `save!' | |
~/work/.forks/cw1/features/step_definitions/activerecord_steps.rb:13:in `block in <top (required)>' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:48:in `block in cucumber_instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_step_definition.rb:62:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/step_match.rb:25:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_invocation.rb:59:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_invocation.rb:38:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:99:in `block in visit_step' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:15:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:14:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:14:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:93:in `block in visit_steps' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:55:in `block (2 levels) in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:79:in `block (2 levels) in with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:95:in `before_and_after' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:78:in `block in with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:120:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:120:in `block (3 levels) in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:13:in `block in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:95:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:95:in `execute_around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:12:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:119:in `block (2 levels) in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:117:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:117:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:90:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:77:in `with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:53:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:108:in `with_visitor' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:47:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:51:in `block in visit_feature_element' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:43:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:42:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:42:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:20:in `block in visit_feature' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:29:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:17:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:17:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:28:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:14:in `block in visit_features' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:45:in `run!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/cli/main.rb:43:in `execute!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/cli/main.rb:20:in `execute' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/bin/cucumber:14:in `<top (required)>' | |
~/.rvm/gems/ruby-1.9.3-p0/bin/cucumber:19:in `load' | |
~/.rvm/gems/ruby-1.9.3-p0/bin/cucumber:19:in `<main>' | |
features/mount_activerecord.feature:35:in `And I save the active record' | |
Then there should be a file at 'public/uploads/bork.txt' | |
When I reload the active record | |
Then the url for the column 'avatar' should be '/uploads/bork.txt' | |
Scenario: store a file and delete the record | |
When I assign the file 'fixtures/bork.txt' to the 'avatar' column | |
And I retrieve the file later from the cache name for the column 'avatar' | |
And I save the active record | |
NoMethodError: undefined method `error' for nil:NilClass: INSERT INTO "users" ("avatar") VALUES (?) (ActiveRecord::StatementInvalid) | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:207:in `type_cast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:240:in `block (2 levels) in exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:239:in `map' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:239:in `block in exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:244:in `block in log' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:239:in `log' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:223:in `exec_query' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:63:in `exec_insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:90:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/relation.rb:70:in `insert' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:313:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/timestamp.rb:51:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:268:in `block in create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:390:in `_run_create_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:268:in `create' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:294:in `create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264:in `block in create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:399:in `_run_save_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264:in `create_or_update' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/persistence.rb:57:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/validations.rb:56:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/attribute_methods/dirty.rb:33:in `save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:246:in `block in save!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:208:in `transaction' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:293:in `with_transaction_returning_status' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.1/lib/active_record/transactions.rb:246:in `save!' | |
~/work/.forks/cw1/features/step_definitions/activerecord_steps.rb:13:in `block in <top (required)>' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:48:in `block in cucumber_instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_step_definition.rb:62:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/step_match.rb:25:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_invocation.rb:59:in `invoke' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_invocation.rb:38:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:99:in `block in visit_step' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:15:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:14:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/step_collection.rb:14:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:93:in `block in visit_steps' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:55:in `block (2 levels) in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:79:in `block (2 levels) in with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:95:in `before_and_after' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:78:in `block in with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:120:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:120:in `block (3 levels) in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:13:in `block in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:95:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:95:in `execute_around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/language_support/language_methods.rb:12:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:119:in `block (2 levels) in around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:117:in `call' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:117:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:90:in `around' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:77:in `with_hooks' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:53:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:108:in `with_visitor' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/scenario.rb:47:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:51:in `block in visit_feature_element' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:43:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:42:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/feature.rb:42:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:20:in `block in visit_feature' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:29:in `block in accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:17:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:17:in `each' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/features.rb:28:in `accept' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:14:in `block in visit_features' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:163:in `broadcast' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/runtime.rb:45:in `run!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/cli/main.rb:43:in `execute!' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/lib/cucumber/cli/main.rb:20:in `execute' | |
~/.rvm/gems/ruby-1.9.3-p0/gems/cucumber-1.1.2/bin/cucumber:14:in `<top (required)>' | |
~/.rvm/gems/ruby-1.9.3-p0/bin/cucumber:19:in `load' | |
~/.rvm/gems/ruby-1.9.3-p0/bin/cucumber:19:in `<main>' | |
features/mount_activerecord.feature:43:in `And I save the active record' | |
Then there should be a file at 'public/uploads/bork.txt' | |
When I delete the active record | |
Then there should not be a file at 'public/uploads/bork.txt' | |
Failing Scenarios: | |
cucumber features/mount_activerecord.feature:24 | |
cucumber features/mount_activerecord.feature:32 | |
cucumber features/mount_activerecord.feature:40 | |
5 scenarios (3 failed, 2 passed) | |
46 steps (3 failed, 9 skipped, 34 passed) | |
0m0.368s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment