spree 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of spree might be problematic. Click here for more details.
- data/History.txt +5 -0
- data/Manifest.txt +158 -21
- data/config/hoe.rb +2 -1
- data/lib/spree/version.rb +1 -1
- data/starter-app/app/views/layouts/application.rhtml +6 -4
- data/starter-app/db/sample/line_items.yml +6 -4
- data/starter-app/db/sample/{variations.yml → variants.yml} +16 -0
- data/starter-app/log/README +1 -0
- data/starter-app/public/images/spree.jpg +0 -0
- data/starter-app/public/stylesheets/application.css +2 -2
- data/starter-app/script/spec +4 -0
- data/starter-app/script/spec_server +102 -0
- data/starter-app/spec/models/cart_item_spec.rb +50 -0
- data/starter-app/spec/models/cart_spec.rb +51 -0
- data/starter-app/spec/models/line_item_spec.rb +33 -0
- data/starter-app/spec/models/product_spec.rb +29 -0
- data/starter-app/spec/rcov.opts +2 -0
- data/starter-app/spec/spec.opts +6 -0
- data/starter-app/spec/spec_helper.rb +39 -0
- data/starter-app/stories/all.rb +4 -0
- data/starter-app/stories/helper.rb +3 -0
- data/starter-app/vendor/plugins/rspec_on_rails/MIT-LICENSE +31 -0
- data/starter-app/vendor/plugins/rspec_on_rails/README +3 -0
- data/starter-app/vendor/plugins/rspec_on_rails/Rakefile +9 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/CHANGES +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +35 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/all_stories.rb +4 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt +0 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/rcov.opts +2 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +4 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +102 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +6 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +39 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/stories_helper.rb +3 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_controller/USAGE +33 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +49 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +25 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +12 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_model/USAGE +18 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +30 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +11 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +167 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +313 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +22 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/routing_spec.rb +61 -0
- data/starter-app/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
- data/starter-app/vendor/plugins/rspec_on_rails/init.rb +9 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/autotest/discover.rb +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +81 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +51 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example.rb +47 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb +42 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb +255 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb +66 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/helper_example_group.rb +82 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/ivar_proxy.rb +62 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/model_example_group.rb +14 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb +68 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb +90 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb +171 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +12 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +14 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +21 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +11 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +27 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +30 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +5 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb +66 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/matchers/have.rb +21 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +29 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +130 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +55 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +113 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +70 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb +71 -0
- data/starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +23 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb +36 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb +8 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb +55 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/configuration_spec.rb +83 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb +43 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb +187 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/example_group_factory_spec.rb +112 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb +118 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/ivar_proxy_spec.rb +64 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/model_spec_spec.rb +18 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/shared_behaviour_spec.rb +16 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb +263 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +54 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb +48 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +14 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +783 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +37 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb +13 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/matchers/have_text_spec.rb +62 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +203 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +169 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +65 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/sample_spec.rb +7 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +89 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails/spec_spec.rb +11 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/rails_suite.rb +7 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec/spec_helper.rb +46 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb +2 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +56 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +59 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +26 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +58 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +10 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +5 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +6 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +13 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml +0 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial.rhtml +2 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +3 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +2 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +2 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/foo/show.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/implicit_helper.rhtml +2 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +3 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial.rhtml +5 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +3 -0
- data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +1 -0
- data/starter-app/vendor/plugins/rspec_on_rails/stories/all.rb +10 -0
- data/starter-app/vendor/plugins/rspec_on_rails/stories/helper.rb +5 -0
- data/starter-app/vendor/plugins/rspec_on_rails/stories/steps/people.rb +8 -0
- data/starter-app/vendor/plugins/rspec_on_rails/stories/transactions_should_rollback +15 -0
- data/starter-app/vendor/plugins/rspec_on_rails/stories/transactions_should_rollback.rb +25 -0
- data/starter-app/vendor/plugins/rspec_on_rails/tasks/rspec.rake +137 -0
- data/starter-app/vendor/plugins/spree/LICENSE +1 -1
- data/starter-app/vendor/plugins/spree/app/controllers/admin/categories_controller.rb +0 -24
- data/starter-app/vendor/plugins/spree/app/controllers/admin/products_controller.rb +16 -16
- data/starter-app/vendor/plugins/spree/app/controllers/cart_controller.rb +2 -8
- data/starter-app/vendor/plugins/spree/app/helpers/admin/products_helper.rb +1 -1
- data/starter-app/vendor/plugins/spree/app/helpers/spree/base_helper.rb +2 -2
- data/starter-app/vendor/plugins/spree/app/models/cart.rb +7 -20
- data/starter-app/vendor/plugins/spree/app/models/cart_item.rb +3 -6
- data/starter-app/vendor/plugins/spree/app/models/category.rb +6 -22
- data/starter-app/vendor/plugins/spree/app/models/line_item.rb +3 -5
- data/starter-app/vendor/plugins/spree/app/models/option_value.rb +1 -1
- data/starter-app/vendor/plugins/spree/app/models/product.rb +18 -2
- data/starter-app/vendor/plugins/spree/app/models/variant.rb +5 -0
- data/starter-app/vendor/plugins/spree/app/views/admin/categories/_form.rhtml +1 -5
- data/starter-app/vendor/plugins/spree/app/views/admin/overview/index.rhtml +3 -0
- data/starter-app/vendor/plugins/spree/app/views/admin/products/_form.rhtml +2 -2
- data/starter-app/vendor/plugins/spree/app/views/admin/products/{_new_variation.rhtml → _new_variant.rhtml} +1 -1
- data/starter-app/vendor/plugins/spree/app/views/admin/products/_variants.rhtml +43 -0
- data/starter-app/vendor/plugins/spree/app/views/cart/index.rhtml +4 -4
- data/starter-app/vendor/plugins/spree/app/views/layouts/admin.rhtml +1 -1
- data/starter-app/vendor/plugins/spree/app/views/order_mailer/cancel.rhtml +1 -1
- data/starter-app/vendor/plugins/spree/app/views/order_mailer/confirm.rhtml +1 -1
- data/starter-app/vendor/plugins/spree/app/views/shared/_order_details.rhtml +1 -1
- data/starter-app/vendor/plugins/spree/app/views/store/show.rhtml +30 -29
- data/starter-app/vendor/plugins/spree/assets/images/spree/spree.jpg +0 -0
- data/starter-app/vendor/plugins/spree/assets/stylesheets/spree-admin.css +1 -1
- data/starter-app/vendor/plugins/spree/assets/stylesheets/store/_controller.css +1 -1
- data/starter-app/vendor/plugins/spree/db/migrate/002_create_cart_items.rb +1 -2
- data/starter-app/vendor/plugins/spree/db/migrate/006_create_line_items.rb +5 -7
- data/starter-app/vendor/plugins/spree/db/migrate/011_create_variants.rb +11 -0
- data/starter-app/vendor/plugins/spree/db/migrate/018_create_option_values_variants.rb +12 -0
- data/starter-app/vendor/plugins/spree/test/unit/product_test.rb +0 -33
- metadata +170 -23
- data/starter-app/vendor/plugins/spree/app/controllers/admin/variations_controller.rb +0 -73
- data/starter-app/vendor/plugins/spree/app/helpers/admin/variations_helper.rb +0 -2
- data/starter-app/vendor/plugins/spree/app/models/variation.rb +0 -8
- data/starter-app/vendor/plugins/spree/app/views/admin/option_types/test.rhtml +0 -8
- data/starter-app/vendor/plugins/spree/app/views/admin/products/_variations.rhtml +0 -41
- data/starter-app/vendor/plugins/spree/app/views/admin/variations/_form.rhtml +0 -33
- data/starter-app/vendor/plugins/spree/app/views/admin/variations/_option_values.rhtml +0 -5
- data/starter-app/vendor/plugins/spree/app/views/admin/variations/list.rhtml +0 -23
- data/starter-app/vendor/plugins/spree/app/views/admin/variations/new.rhtml +0 -14
- data/starter-app/vendor/plugins/spree/assets/images/spree/spree_logo142x65.gif +0 -0
- data/starter-app/vendor/plugins/spree/assets/images/spree/spree_logo245x112.gif +0 -0
- data/starter-app/vendor/plugins/spree/db/migrate/011_create_variations.rb +0 -11
- data/starter-app/vendor/plugins/spree/db/migrate/018_create_option_values_variations.rb +0 -12
- data/starter-app/vendor/plugins/spree/test/functional/admin/variations_controller_test.rb +0 -18
- data/starter-app/vendor/plugins/spree/test/integration/variations_test.rb +0 -24
- data/starter-app/vendor/plugins/spree/test/unit/cart_item_test.rb +0 -55
- data/starter-app/vendor/plugins/spree/test/unit/cart_test.rb +0 -35
- data/starter-app/vendor/plugins/spree/test/unit/line_item_test.rb +0 -61
- data/starter-app/vendor/plugins/spree/test/unit/variation_test.rb +0 -9
@@ -0,0 +1,65 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
class MockableModel < ActiveRecord::Base
|
4
|
+
has_one :associated_model
|
5
|
+
end
|
6
|
+
|
7
|
+
class SubMockableModel < MockableModel
|
8
|
+
end
|
9
|
+
|
10
|
+
class AssociatedModel < ActiveRecord::Base
|
11
|
+
belongs_to :mockable_model
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "mock_model", :type => :view do
|
15
|
+
before(:each) do
|
16
|
+
@model = mock_model(SubMockableModel)
|
17
|
+
end
|
18
|
+
it "should say it is_a? if it is" do
|
19
|
+
@model.is_a?(SubMockableModel).should be(true)
|
20
|
+
end
|
21
|
+
it "should say it is_a? if it's ancestor is" do
|
22
|
+
@model.is_a?(MockableModel).should be(true)
|
23
|
+
end
|
24
|
+
it "should say it is kind_of? if it is" do
|
25
|
+
@model.kind_of?(SubMockableModel).should be(true)
|
26
|
+
end
|
27
|
+
it "should say it is kind_of? if it's ancestor is" do
|
28
|
+
@model.kind_of?(MockableModel).should be(true)
|
29
|
+
end
|
30
|
+
it "should say it is instance_of? if it is" do
|
31
|
+
@model.instance_of?(SubMockableModel).should be(true)
|
32
|
+
end
|
33
|
+
it "should not say it instance_of? if it isn't, even if it's ancestor is" do
|
34
|
+
@model.instance_of?(MockableModel).should be(false)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "mock_model with null_object", :type => :view do
|
39
|
+
before(:each) do
|
40
|
+
@model = mock_model(MockableModel, :null_object => true, :mocked_method => "mocked")
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should be able to mock methods" do
|
44
|
+
@model.mocked_method.should == "mocked"
|
45
|
+
end
|
46
|
+
it "should return itself to unmocked methods" do
|
47
|
+
@model.unmocked_method.should equal(@model)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "mock_model as association", :type => :view do
|
52
|
+
before(:each) do
|
53
|
+
@real = AssociatedModel.create!
|
54
|
+
@mock_model = mock_model(MockableModel)
|
55
|
+
@real.mockable_model = @mock_model
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should pass associated_model == mock" do
|
59
|
+
@mock_model.should == @real.mockable_model
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should pass mock == associated_model" do
|
63
|
+
@real.mockable_model.should == @mock_model
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe "script/spec_server file", :shared => true do
|
4
|
+
attr_accessor :tmbundle_install_directory
|
5
|
+
|
6
|
+
after do
|
7
|
+
system "kill -9 #{@pid}"
|
8
|
+
end
|
9
|
+
|
10
|
+
it "runs a spec" do
|
11
|
+
dir = File.dirname(__FILE__)
|
12
|
+
output = ""
|
13
|
+
Timeout.timeout(10) do
|
14
|
+
loop do
|
15
|
+
output = `#{RAILS_ROOT}/script/spec #{dir}/sample_spec.rb --drb 2>&1`
|
16
|
+
break unless output.include?("No server is running")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
unless $?.exitstatus == 0
|
21
|
+
flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def start_spec_server
|
26
|
+
create_spec_server_pid_file
|
27
|
+
start_spec_server_process
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_spec_server_pid_file
|
31
|
+
current_dir = File.dirname(__FILE__)
|
32
|
+
pid_dir = "#{Dir.tmpdir}/#{Time.now.to_i}"
|
33
|
+
@spec_server_pid_file = "#{pid_dir}/spec_server.pid"
|
34
|
+
FileUtils.mkdir_p pid_dir
|
35
|
+
system "touch #{@spec_server_pid_file}"
|
36
|
+
@rspec_path = File.expand_path("#{current_dir}/../../../rspec/lib")
|
37
|
+
end
|
38
|
+
|
39
|
+
def start_spec_server_process
|
40
|
+
dir = File.dirname(__FILE__)
|
41
|
+
spec_server_cmd = %Q|export HOME=#{Dir.tmpdir}; |
|
42
|
+
spec_server_cmd << %Q|ruby -e 'system("echo " + Process.pid.to_s + " > #{@spec_server_pid_file}"); |
|
43
|
+
spec_server_cmd << %Q|$LOAD_PATH.unshift("#{@rspec_path}"); require "spec"; |
|
44
|
+
spec_server_cmd << %Q|load "#{RAILS_ROOT}/script/spec_server"' &|
|
45
|
+
system spec_server_cmd
|
46
|
+
|
47
|
+
file_content = ""
|
48
|
+
Timeout.timeout(5) do
|
49
|
+
loop do
|
50
|
+
file_content = File.read(@spec_server_pid_file)
|
51
|
+
break unless file_content.blank?
|
52
|
+
end
|
53
|
+
end
|
54
|
+
@pid = Integer(File.read(@spec_server_pid_file))
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "script/spec_server file without TextMate bundle" do
|
59
|
+
it_should_behave_like "script/spec_server file"
|
60
|
+
before do
|
61
|
+
start_spec_server
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "script/spec_server file with TextMate bundle" do
|
66
|
+
it_should_behave_like "script/spec_server file"
|
67
|
+
before do
|
68
|
+
dir = File.dirname(__FILE__)
|
69
|
+
@tmbundle_install_directory = File.expand_path("#{Dir.tmpdir}/Library/Application Support/TextMate/Bundles")
|
70
|
+
@bundle_name = "RSpec.tmbundle"
|
71
|
+
FileUtils.mkdir_p(tmbundle_install_directory)
|
72
|
+
bundle_dir = File.expand_path("#{dir}/../../../../../../#{@bundle_name}")
|
73
|
+
File.directory?(bundle_dir).should be_true
|
74
|
+
unless system(%Q|ln -s #{bundle_dir} "#{tmbundle_install_directory}"|)
|
75
|
+
raise "Creating link to Textmate Bundle"
|
76
|
+
end
|
77
|
+
start_spec_server
|
78
|
+
end
|
79
|
+
|
80
|
+
after do
|
81
|
+
bundle_file_to_remove = "#{tmbundle_install_directory}/#{@bundle_name}"
|
82
|
+
if bundle_file_to_remove == "/"
|
83
|
+
raise "bundle file path resolved to '/' - could not call rm"
|
84
|
+
end
|
85
|
+
unless system(%Q|rm "#{bundle_file_to_remove}"|)
|
86
|
+
raise "Removing Textmate bundle link failed"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe "script/spec file" do
|
4
|
+
it "should run a spec" do
|
5
|
+
dir = File.dirname(__FILE__)
|
6
|
+
output = `#{RAILS_ROOT}/script/spec #{dir}/sample_spec.rb`
|
7
|
+
unless $?.exitstatus == 0
|
8
|
+
flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
$LOAD_PATH.unshift(File.expand_path("#{dir}/../rspec/lib"))
|
3
|
+
$LOAD_PATH.unshift(File.expand_path("#{dir}/../spec_resources/controllers"))
|
4
|
+
$LOAD_PATH.unshift(File.expand_path("#{dir}/../spec_resources/helpers"))
|
5
|
+
require File.expand_path("#{dir}/../../../../spec/spec_helper")
|
6
|
+
require File.expand_path("#{dir}/../spec_resources/controllers/render_spec_controller")
|
7
|
+
require File.expand_path("#{dir}/../spec_resources/controllers/rjs_spec_controller")
|
8
|
+
require File.expand_path("#{dir}/../spec_resources/controllers/redirect_spec_controller")
|
9
|
+
require File.expand_path("#{dir}/../spec_resources/controllers/action_view_base_spec_controller")
|
10
|
+
require File.expand_path("#{dir}/../spec_resources/helpers/explicit_helper")
|
11
|
+
require File.expand_path("#{dir}/../spec_resources/helpers/more_explicit_helper")
|
12
|
+
require File.expand_path("#{dir}/../spec_resources/helpers/view_spec_helper")
|
13
|
+
require File.expand_path("#{dir}/../spec_resources/helpers/plugin_application_helper")
|
14
|
+
|
15
|
+
ActionController::Routing.controller_paths << "#{dir}/../spec_resources/controllers"
|
16
|
+
|
17
|
+
module Spec
|
18
|
+
module Rails
|
19
|
+
module Example
|
20
|
+
class ViewExampleGroupController
|
21
|
+
set_view_path File.join(File.dirname(__FILE__), "..", "spec_resources", "views")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def fail()
|
28
|
+
raise_error(Spec::Expectations::ExpectationNotMetError)
|
29
|
+
end
|
30
|
+
|
31
|
+
def fail_with(message)
|
32
|
+
raise_error(Spec::Expectations::ExpectationNotMetError,message)
|
33
|
+
end
|
34
|
+
|
35
|
+
class Proc
|
36
|
+
def should_pass
|
37
|
+
lambda { self.call }.should_not raise_error
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
ActionController::Routing::Routes.draw do |map|
|
42
|
+
map.resources :rspec_on_rails_specs
|
43
|
+
map.connect 'custom_route', :controller => 'custom_route_spec', :action => 'custom_route'
|
44
|
+
map.connect ":controller/:action/:id"
|
45
|
+
end
|
46
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
class ControllerSpecController < ActionController::Base
|
2
|
+
if ['edge','2.0.0'].include?(ENV['RSPEC_RAILS_VERSION'])
|
3
|
+
set_view_path [File.join(File.dirname(__FILE__), "..", "views")]
|
4
|
+
else
|
5
|
+
set_view_path File.join(File.dirname(__FILE__), "..", "views")
|
6
|
+
end
|
7
|
+
|
8
|
+
def some_action
|
9
|
+
render :template => "template/that/does/not/actually/exist"
|
10
|
+
end
|
11
|
+
|
12
|
+
def action_with_template
|
13
|
+
session[:session_key] = "session value"
|
14
|
+
flash[:flash_key] = "flash value"
|
15
|
+
render :template => "controller_spec/action_with_template"
|
16
|
+
end
|
17
|
+
|
18
|
+
def action_with_partial
|
19
|
+
render :partial => "controller_spec/partial"
|
20
|
+
end
|
21
|
+
|
22
|
+
def action_with_partial_with_object
|
23
|
+
render :partial => "controller_spec/partial", :object => params[:thing]
|
24
|
+
end
|
25
|
+
|
26
|
+
def action_with_partial_with_locals
|
27
|
+
render :partial => "controller_spec/partial", :locals => {:thing => params[:thing]}
|
28
|
+
end
|
29
|
+
|
30
|
+
def action_with_errors_in_template
|
31
|
+
render :template => "controller_spec/action_with_errors_in_template"
|
32
|
+
end
|
33
|
+
|
34
|
+
def action_setting_the_assigns_hash
|
35
|
+
assigns['direct_assigns_key'] = :direct_assigns_key_value
|
36
|
+
@indirect_assigns_key = :indirect_assigns_key_value
|
37
|
+
end
|
38
|
+
|
39
|
+
def action_setting_flash_after_session_reset
|
40
|
+
reset_session
|
41
|
+
flash[:after_reset] = "available"
|
42
|
+
end
|
43
|
+
|
44
|
+
def action_setting_flash_before_session_reset
|
45
|
+
flash[:before_reset] = 'available'
|
46
|
+
reset_session
|
47
|
+
end
|
48
|
+
|
49
|
+
def action_with_render_update
|
50
|
+
render :update do |page|
|
51
|
+
page.replace :bottom, 'replace_me',
|
52
|
+
:partial => 'non_existent_partial'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
@@ -0,0 +1,59 @@
|
|
1
|
+
class RedirectSpecController < ApplicationController
|
2
|
+
|
3
|
+
def action_with_no_redirect
|
4
|
+
render :text => "this is just here to keep this from causing a MissingTemplate error"
|
5
|
+
end
|
6
|
+
|
7
|
+
def action_with_redirect_to_somewhere
|
8
|
+
redirect_to :action => 'somewhere'
|
9
|
+
end
|
10
|
+
|
11
|
+
def action_with_redirect_to_other_somewhere
|
12
|
+
redirect_to :controller => 'render_spec', :action => 'text_action'
|
13
|
+
end
|
14
|
+
|
15
|
+
def action_with_redirect_to_somewhere_and_return
|
16
|
+
redirect_to :action => 'somewhere' and return
|
17
|
+
render :text => "this is after the return"
|
18
|
+
end
|
19
|
+
|
20
|
+
def somewhere
|
21
|
+
render :text => "this is just here to keep this from causing a MissingTemplate error"
|
22
|
+
end
|
23
|
+
|
24
|
+
def action_with_redirect_to_rspec_site
|
25
|
+
redirect_to "http://rspec.rubyforge.org"
|
26
|
+
end
|
27
|
+
|
28
|
+
def action_with_redirect_back
|
29
|
+
redirect_to :back
|
30
|
+
end
|
31
|
+
|
32
|
+
def action_with_redirect_in_respond_to
|
33
|
+
respond_to do |wants|
|
34
|
+
wants.html { redirect_to :action => 'somewhere' }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def action_with_redirect_which_creates_query_string
|
39
|
+
redirect_to :action => "somewhere", :id => 1111, :param1 => "value1", :param2 => "value2"
|
40
|
+
end
|
41
|
+
|
42
|
+
# note: sometimes this is the URL which rails will generate from the hash in
|
43
|
+
# action_with_redirect_which_creates_query_string
|
44
|
+
def action_with_redirect_with_query_string_order1
|
45
|
+
redirect_to "http://test.host/redirect_spec/somewhere/1111?param1=value1¶m2=value2"
|
46
|
+
end
|
47
|
+
|
48
|
+
# note: sometimes this is the URL which rails will generate from the hash in
|
49
|
+
# action_with_redirect_which_creates_query_string
|
50
|
+
def action_with_redirect_with_query_string_order2
|
51
|
+
redirect_to "http://test.host/redirect_spec/somewhere/1111?param2=value2¶m1=value1"
|
52
|
+
end
|
53
|
+
|
54
|
+
def action_with_redirect_to_unroutable_url_inside_app
|
55
|
+
redirect_to :controller => "nonexistant", :action => "none"
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
class RenderSpecController < ApplicationController
|
2
|
+
set_view_path File.join(File.dirname(__FILE__), "..", "views")
|
3
|
+
|
4
|
+
def some_action
|
5
|
+
respond_to do |format|
|
6
|
+
format.html
|
7
|
+
format.js
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def action_which_renders_template_from_other_controller
|
12
|
+
render :template => 'controller_spec/action_with_template'
|
13
|
+
end
|
14
|
+
|
15
|
+
def text_action
|
16
|
+
render :text => "this is the text for this action"
|
17
|
+
end
|
18
|
+
|
19
|
+
def action_with_partial
|
20
|
+
render :partial => "a_partial"
|
21
|
+
end
|
22
|
+
|
23
|
+
def action_that_renders_nothing
|
24
|
+
render :nothing => true
|
25
|
+
end
|
26
|
+
end
|
data/starter-app/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
class RjsSpecController < ApplicationController
|
2
|
+
set_view_path File.join(File.dirname(__FILE__), "..", "views")
|
3
|
+
|
4
|
+
def replace_html
|
5
|
+
end
|
6
|
+
|
7
|
+
def insert_html
|
8
|
+
end
|
9
|
+
|
10
|
+
def replace
|
11
|
+
end
|
12
|
+
|
13
|
+
def hide_div
|
14
|
+
end
|
15
|
+
|
16
|
+
def hide_page_element
|
17
|
+
end
|
18
|
+
|
19
|
+
def replace_html_with_partial
|
20
|
+
end
|
21
|
+
|
22
|
+
def render_replace_html
|
23
|
+
render :update do |page|
|
24
|
+
page.replace_html 'mydiv', 'replacement text'
|
25
|
+
page.replace_html 'myotherdiv', 'other replacement text'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def render_replace_html_with_partial
|
30
|
+
render :update do |page|
|
31
|
+
page.replace_html 'mydiv', :partial => 'rjs_spec/replacement_partial'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def render_insert_html
|
36
|
+
render :update do |page|
|
37
|
+
page.insert_html 'mydiv', 'replacement text'
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def render_replace
|
42
|
+
render :update do |page|
|
43
|
+
page.replace 'mydiv', 'replacement text'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def render_hide_div
|
48
|
+
render :update do |page|
|
49
|
+
page.hide 'mydiv'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def render_hide_page_element
|
54
|
+
render :update do |page|
|
55
|
+
page['mydiv'].hide
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module ExplicitHelper
|
2
|
+
def method_in_explicit_helper
|
3
|
+
"<div>This is text from a method in the ExplicitHelper</div>"
|
4
|
+
end
|
5
|
+
|
6
|
+
# this is an example of a method spec'able with eval_erb in helper specs
|
7
|
+
def prepend(arg, &block)
|
8
|
+
concat(arg, block.binding) + block.call
|
9
|
+
end
|
10
|
+
end
|