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
@@ -1,8 +0,0 @@
|
|
1
|
-
<form>
|
2
|
-
<% form_remote_tag :url => {:controller => 'option_types', :action => 'select', :id => @product},
|
3
|
-
:update => 'result',
|
4
|
-
:complete => visual_effect(:highlight, 'result') do %>
|
5
|
-
<%= text_field :product, 'name' %>
|
6
|
-
<%= submit_tag 'Select Variation(s)' %>
|
7
|
-
<% end %>
|
8
|
-
</form>
|
@@ -1,41 +0,0 @@
|
|
1
|
-
<h2>Variations</h2>
|
2
|
-
<%=error_message_on :product, :variations %>
|
3
|
-
<table class="basic-table">
|
4
|
-
<thead>
|
5
|
-
<tr>
|
6
|
-
<th>Options</th>
|
7
|
-
<th>Action</th>
|
8
|
-
</tr>
|
9
|
-
</thead>
|
10
|
-
<tbody>
|
11
|
-
<% @product.variations.each do |v| %>
|
12
|
-
<tr>
|
13
|
-
<td><%= variation_options v %></td>
|
14
|
-
<td>
|
15
|
-
<%= link_to_remote "Remove",
|
16
|
-
:url => {:action => 'delete_variation', :id=> @product, :variation_id => v},
|
17
|
-
:before => "Element.show('busy_indicator')",
|
18
|
-
:complete => "Element.hide('busy_indicator')",
|
19
|
-
:update => 'variation-listing' %>
|
20
|
-
</td>
|
21
|
-
</tr>
|
22
|
-
<% end %>
|
23
|
-
<% if @product.variations.empty? %>
|
24
|
-
<tr>
|
25
|
-
<td colspan="3">None Available.</td>
|
26
|
-
</tr>
|
27
|
-
<% end %>
|
28
|
-
</tbody>
|
29
|
-
</table>
|
30
|
-
<% unless @product.new_record? or @product.selected_options.empty? %>
|
31
|
-
<span id="new-var-link">
|
32
|
-
<%= link_to_remote "New Product Variation",
|
33
|
-
:url => {:controller => 'products', :action => 'new_variation', :id=> @product},
|
34
|
-
:before => "Element.hide('new-var-link');Element.show('var_busy_indicator')",
|
35
|
-
:complete => "Element.hide('var_busy_indicator')",
|
36
|
-
:update => 'new-variation' %>
|
37
|
-
</span>
|
38
|
-
<%= image_tag "spinner.gif", :plugin=>"spree", :style => "display:none", :id => 'var_busy_indicator' %>
|
39
|
-
<% end %>
|
40
|
-
|
41
|
-
<div id="new-variation"></div>
|
@@ -1,33 +0,0 @@
|
|
1
|
-
<%= error_messages_for 'variation' %>
|
2
|
-
|
3
|
-
<!--[form:variation]-->
|
4
|
-
<table>
|
5
|
-
<tr>
|
6
|
-
<td>Option</td>
|
7
|
-
<td>
|
8
|
-
<select name="option_id" id="option_id" style="width:200px">
|
9
|
-
<%= options_from_collection_for_select(@all_options, :id, :name) -%>
|
10
|
-
</select>
|
11
|
-
</td>
|
12
|
-
<td>Option Value</td>
|
13
|
-
<td>
|
14
|
-
<%= render :partial => 'option_values' -%>
|
15
|
-
</td>
|
16
|
-
<td><%= link_to_function "+", "alert('foo!')" %></td>
|
17
|
-
<td>-</td>
|
18
|
-
</tr>
|
19
|
-
<tr>
|
20
|
-
<td>Name: </td>
|
21
|
-
<td><%= form.text_field :name %></td>
|
22
|
-
<td>Sku: </td>
|
23
|
-
<td><%= form.text_field :name %></td>
|
24
|
-
<td></td>
|
25
|
-
</tr>
|
26
|
-
</table>
|
27
|
-
|
28
|
-
<%= observe_field :option_id,
|
29
|
-
:update => 'ajaxWrapper',
|
30
|
-
:url => {:action => 'option_values', :only_path => false},
|
31
|
-
:with => "'option_id=' +value" -%>
|
32
|
-
|
33
|
-
<!--[eoform:variation]-->
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<h1>Listing attributes</h1>
|
2
|
-
<table>
|
3
|
-
<tr>
|
4
|
-
<td><b>Name</b></td>
|
5
|
-
<td/>
|
6
|
-
</tr>
|
7
|
-
<% for attribute in @product.attributes %>
|
8
|
-
<tr>
|
9
|
-
<td valign="top"><%= attribute.name -%></td>
|
10
|
-
<td valign="top">
|
11
|
-
<%= link_to "Show", :action => 'show', :id => attribute -%>
|
12
|
-
<%= link_to "Edit", :action => 'edit', :id => attribute -%>
|
13
|
-
<%= link_to "Delete",
|
14
|
-
{:action => 'destroy', :id => attribute},
|
15
|
-
{:confirm => "Are you sure you want to delete this option?"} -%>
|
16
|
-
</td>
|
17
|
-
</tr>
|
18
|
-
<% end %>
|
19
|
-
</table>
|
20
|
-
|
21
|
-
<br />
|
22
|
-
|
23
|
-
<%= link_to 'New Option', :action => 'new' -%>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<b>New Variation</b>
|
2
|
-
<br/>
|
3
|
-
<% fields_for :variation, @variation do |form| %>
|
4
|
-
<table>
|
5
|
-
<tr>
|
6
|
-
<td width="135">Name: </td>
|
7
|
-
<td><%= form.text_field :name %></td>
|
8
|
-
</tr>
|
9
|
-
<tr>
|
10
|
-
<td>Price Effect: </td>
|
11
|
-
<td><%= form.text_field :price_effect %></td>
|
12
|
-
</tr>
|
13
|
-
</table>
|
14
|
-
<% end %>
|
Binary file
|
Binary file
|
@@ -1,12 +0,0 @@
|
|
1
|
-
class CreateOptionValuesVariations < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :option_values_variations, :id=>false do |t|
|
4
|
-
t.integer :variation_id
|
5
|
-
t.integer :option_value_id
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.down
|
10
|
-
drop_table :option_values_variations
|
11
|
-
end
|
12
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
-
require 'admin/variations_controller'
|
3
|
-
|
4
|
-
# Re-raise errors caught by the controller.
|
5
|
-
class Admin::VariationsController; def rescue_action(e) raise e end; end
|
6
|
-
|
7
|
-
class Admin::VariationsControllerTest < Test::Unit::TestCase
|
8
|
-
def setup
|
9
|
-
@controller = Admin::VariationsController.new
|
10
|
-
@request = ActionController::TestRequest.new
|
11
|
-
@response = ActionController::TestResponse.new
|
12
|
-
end
|
13
|
-
|
14
|
-
# Replace this with your real tests.
|
15
|
-
def test_truth
|
16
|
-
assert true
|
17
|
-
end
|
18
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/../test_helper"
|
2
|
-
|
3
|
-
class VariationsTest < ActionController::IntegrationTest
|
4
|
-
fixtures :categories, :variations, :products
|
5
|
-
|
6
|
-
def test_var_save_with_cat
|
7
|
-
c1 = categories(:pants)
|
8
|
-
c2 = categories(:hats)
|
9
|
-
v = variations(:s)
|
10
|
-
c1.parent = c2
|
11
|
-
c1.save
|
12
|
-
c1.reload
|
13
|
-
assert_raise(ActiveRecord::RecordNotFound) {Variation.find(v.id)}
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_var_save_with_product
|
17
|
-
c = categories(:pants)
|
18
|
-
p = products(:foo_shirt)
|
19
|
-
v = variations(:l)
|
20
|
-
p.category = c
|
21
|
-
p.save
|
22
|
-
assert_raise(ActiveRecord::RecordNotFound) {Variation.find(v.id)}
|
23
|
-
end
|
24
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
-
|
3
|
-
class CartItemTest < Test::Unit::TestCase
|
4
|
-
fixtures :products
|
5
|
-
|
6
|
-
PRICE = 10
|
7
|
-
PRICE_EFFECT = 5
|
8
|
-
|
9
|
-
def setup
|
10
|
-
@cart_item = CartItem.new
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_invalid_with_empty_attributes
|
14
|
-
assert !@cart_item.valid?
|
15
|
-
assert @cart_item.errors.invalid?(:product), "product required"
|
16
|
-
assert @cart_item.errors.invalid?(:quantity), "quantity required"
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_invalid_quantity
|
20
|
-
@cart_item.quantity = "foo"
|
21
|
-
@cart_item.product = products(:ror_tote)
|
22
|
-
assert !@cart_item.valid?
|
23
|
-
assert @cart_item.errors.invalid?(:quantity), "quantity must be numeric"
|
24
|
-
|
25
|
-
@cart_item.quantity = 0.5
|
26
|
-
assert !@cart_item.valid?
|
27
|
-
assert @cart_item.errors.invalid?(:quantity), "quantity must be an integer"
|
28
|
-
|
29
|
-
@cart_item.quantity = -1
|
30
|
-
assert !@cart_item.valid?
|
31
|
-
assert @cart_item.errors.invalid?(:quantity), "quantity must be positive"
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_valid_quantity
|
35
|
-
@cart_item.quantity = 1
|
36
|
-
@cart_item.product = products(:ror_tote)
|
37
|
-
assert @cart_item.valid?, "positive integer quantity should be allowed"
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_increment_quantity
|
41
|
-
@cart_item.quantity = 0
|
42
|
-
@cart_item.increment_quantity
|
43
|
-
assert_equal 1, @cart_item.quantity
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_price
|
47
|
-
p = Product.new
|
48
|
-
p.stubs(:price).returns PRICE
|
49
|
-
p.stubs(:quantity).returns 1
|
50
|
-
@cart_item.product = p
|
51
|
-
@cart_item.variation = Variation.new(:price_effect => PRICE_EFFECT)
|
52
|
-
assert_equal PRICE + PRICE_EFFECT, @cart_item.price
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
-
|
3
|
-
class CartTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
@cart = Cart.new
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_add_product
|
10
|
-
product = Product.new
|
11
|
-
@cart.add_product(product)
|
12
|
-
cart_item = @cart.cart_items.first
|
13
|
-
assert_equal product, cart_item.product, "expected same product after adding to cart"
|
14
|
-
assert_equal 1, cart_item.quantity
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_add_product_already_in_cart
|
18
|
-
product = Product.new(:id => 1)
|
19
|
-
product.expects(:increment_quantity).returns 2
|
20
|
-
CartItem.expects(:find).returns product
|
21
|
-
@cart.add_product(product)
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_total
|
25
|
-
item1 = CartItem.new
|
26
|
-
item1.stubs(:price).returns 10
|
27
|
-
item1.stubs(:quantity).returns 2
|
28
|
-
item2 = CartItem.new
|
29
|
-
item2.stubs(:price).returns 100
|
30
|
-
item2.stubs(:quantity).returns 1
|
31
|
-
@cart.cart_items << item1
|
32
|
-
@cart.cart_items << item2
|
33
|
-
assert_equal 120, @cart.total
|
34
|
-
end
|
35
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
-
|
3
|
-
class LineItemTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
PRICE = 10
|
6
|
-
POS_PRICE_EFFECT = 5
|
7
|
-
NEG_PRICE_EFFECT = -10
|
8
|
-
QUANTITY = 2
|
9
|
-
|
10
|
-
def setup
|
11
|
-
@p = Product.new
|
12
|
-
@p.stubs(:price).returns(PRICE)
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_empty_line_item
|
16
|
-
line_item = LineItem.new
|
17
|
-
assert !line_item.valid?
|
18
|
-
assert line_item.errors.invalid?(:product)
|
19
|
-
assert line_item.errors.invalid?(:quantity)
|
20
|
-
assert line_item.errors.invalid?(:price)
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_from_cart_item
|
24
|
-
ci = CartItem.new
|
25
|
-
ci.expects(:quantity).returns(QUANTITY)
|
26
|
-
ci.expects(:product).returns(@p).at_least_once
|
27
|
-
li = LineItem.from_cart_item(ci)
|
28
|
-
assert li.price == 10
|
29
|
-
assert li.quantity == QUANTITY
|
30
|
-
assert li.product == @p
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_total
|
34
|
-
li = LineItem.new
|
35
|
-
li.product = @p
|
36
|
-
li.quantity = 3
|
37
|
-
li.price = PRICE
|
38
|
-
assert_equal 3 * PRICE, li.total
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_positive_price_variation
|
42
|
-
v = Variation.new(:price_effect => POS_PRICE_EFFECT)
|
43
|
-
ci = CartItem.new
|
44
|
-
ci.stubs(:product).returns @p
|
45
|
-
ci.stubs(:variation).returns v
|
46
|
-
ci.stubs(:quantity).returns QUANTITY
|
47
|
-
li = LineItem.from_cart_item(ci)
|
48
|
-
assert_equal li.price, PRICE + POS_PRICE_EFFECT
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_negative_price_variation
|
52
|
-
v = Variation.new(:price_effect => NEG_PRICE_EFFECT)
|
53
|
-
ci = CartItem.new
|
54
|
-
ci.stubs(:product).returns @p
|
55
|
-
ci.stubs(:variation).returns v
|
56
|
-
ci.stubs(:quantity).returns QUANTITY
|
57
|
-
li = LineItem.from_cart_item(ci)
|
58
|
-
assert_equal li.price, PRICE + NEG_PRICE_EFFECT
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|