Skip to content

Commit

Permalink
Replace spree_put with put in controller tests
Browse files Browse the repository at this point in the history
This removes the following annoying deprecation warnings that happen in
each test.

```
DEPRECATION WARNING: You are trying to generate the URL for a named route called :main_app but no such route was found. In the future, this will result in an `ActionController::UrlGenerationError` exception. (called from process_action_with_route at /usr/s
rc/app/spec/support/controller_requests_helper.rb:49)
DEPRECATION WARNING: Passing the `use_route` option in functional tests are deprecated. Support for this option in the `process` method (and the related `get`, `head`, `post`, `patch`, `put` and `delete` helpers) will be removed in the next version without
 replacement. Functional tests are essentially unit tests for controllers and they should not require knowledge to how the application's routes are configured. Instead, you should explicitly pass the appropiate params to the `process` method. Previously th
e engines guide also contained an incorrect example that recommended using this option to test an engine's controllers within the dummy application. That recommendation was incorrect and has since been corrected. Instead, you should override the `@routes`
variable in the test case with `Foo::Engine.routes`. See the updated engines guide for details. (called from process_action_with_route at /usr/src/app/spec/support/controller_requests_helper.rb:49)
```
  • Loading branch information
sauloperez committed Feb 1, 2021
1 parent 98ea15f commit 119da1f
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions spec/controllers/admin/variant_overrides_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
end

it "redirects to unauthorized" do
spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params
expect(response).to redirect_to unauthorized_path
end
end
Expand All @@ -33,15 +33,15 @@

context "but the producer has not granted VO permission" do
it "redirects to unauthorized" do
spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params
expect(response).to redirect_to unauthorized_path
end

it 'only authorizes the updated variant overrides' do
other_variant_override = create(:variant_override, hub: hub, variant: create(:variant))
expect(controller).not_to receive(:authorize!).with(:update, other_variant_override)

spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params
end
end

Expand All @@ -51,15 +51,16 @@
end

it "loads data" do
spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params
expect(assigns[:hubs]).to eq [hub]
expect(assigns[:producers]).to eq [variant.product.supplier]
expect(assigns[:hub_permissions]).to eq Hash[hub.id, [variant.product.supplier.id]]
expect(assigns[:inventory_items]).to eq [inventory_item]
end

it "allows me to update the variant override" do
spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params

variant_override.reload
expect(variant_override.price).to eq 123.45
expect(variant_override.count_on_hand).to eq 321
Expand All @@ -71,7 +72,7 @@
let(:variant_override_params) { [{ id: variant_override.id, price: "", count_on_hand: "", default_stock: nil, resettable: nil, sku: nil, on_demand: nil }] }

it "destroys the variant override" do
spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params
expect(VariantOverride.find_by(id: variant_override.id)).to be_nil
end
end
Expand All @@ -83,7 +84,7 @@
before { deleted_variant.update_attribute :deleted_at, Time.zone.now }

it "allows to update other variant overrides" do
spree_put :bulk_update, format: format, variant_overrides: variant_override_params
put :bulk_update, format: format, variant_overrides: variant_override_params

expect(response).to_not redirect_to unauthorized_path
variant_override.reload
Expand Down Expand Up @@ -117,7 +118,7 @@
end

it "redirects to unauthorized" do
spree_put :bulk_reset, params
put :bulk_reset, params
expect(response).to redirect_to unauthorized_path
end
end
Expand All @@ -129,7 +130,7 @@

context "where the producer has not granted create_variant_overrides permission to the hub" do
it "restricts access" do
spree_put :bulk_reset, params
put :bulk_reset, params
expect(response).to redirect_to unauthorized_path
end
end
Expand All @@ -138,7 +139,7 @@
let!(:er1) { create(:enterprise_relationship, parent: producer, child: hub, permissions_list: [:create_variant_overrides]) }

it "loads data" do
spree_put :bulk_reset, params
put :bulk_reset, params
expect(assigns[:hubs]).to eq [hub]
expect(assigns[:producers]).to eq [producer]
expect(assigns[:hub_permissions]).to eq Hash[hub.id, [producer.id]]
Expand All @@ -148,7 +149,7 @@
it "updates stock to default values where reset is enabled" do
expect(variant_override1.reload.count_on_hand).to eq 5 # reset enabled
expect(variant_override2.reload.count_on_hand).to eq 2 # reset disabled
spree_put :bulk_reset, params
put :bulk_reset, params
expect(variant_override1.reload.count_on_hand).to eq 7 # reset enabled
expect(variant_override2.reload.count_on_hand).to eq 2 # reset disabled
end
Expand All @@ -163,7 +164,7 @@

it "does not reset count_on_hand for variant_overrides not in params" do
expect {
spree_put :bulk_reset, params
put :bulk_reset, params
}.to_not change{ variant_override3.reload.count_on_hand }
end
end
Expand Down

0 comments on commit 119da1f

Please sign in to comment.