Replace api controller test helpers with easier existing alternatives

This commit is contained in:
Luis Ramos
2020-08-31 17:05:51 +01:00
parent b872bf49c5
commit cfdfd82d9a
4 changed files with 3 additions and 43 deletions

View File

@@ -1,37 +0,0 @@
module Spree
module Api
module TestingSupport
module Setup
# enterprises is an array of variable names of let defines
# eg.
# let(:enterprise) { ... }
# sign_in_as_enterprise_user! [:enterprise]
def sign_in_as_enterprise_user!(enterprises)
let!(:current_api_user) do
user = create(:user)
user.spree_roles = []
enterprises.each do |enterprise|
user.enterprise_roles.create(enterprise: public_send(enterprise))
end
user.save!
user
end
end
def sign_in_as_admin!
let!(:current_api_user) do
user = Spree::LegacyUser.new(email: "ofn@example.com")
user.stub(:has_spree_role?).with("admin").and_return(true)
# Stub enterprises, needed for cancan ability checks
user.stub(:enterprises) { [] }
user.stub(:owned_groups) { [] }
user.stub(:spree_api_key) { "admin_spree_api_key" }
user
end
end
end
end
end
end

View File

@@ -14,8 +14,7 @@ module Api
let(:image) { Rack::Test::UploadedFile.new(image_path, 'image/png') }
let!(:product_without_image) { create(:product) }
let!(:product_with_image) { create(:product_with_image) }
sign_in_as_admin!
let(:current_api_user) { create(:admin_user) }
it "saves a new image when none is present" do
xhr :post, :update_product_image, product_id: product_without_image.id, file: image, use_route: :product_images

View File

@@ -84,7 +84,7 @@ describe Api::VariantsController, type: :controller do
end
context "as an enterprise user" do
sign_in_as_enterprise_user! [:supplier]
let(:current_api_user) { create(:user, enterprises: [supplier]) }
let(:supplier_other) { create(:supplier_enterprise) }
let(:product) { create(:product, supplier: supplier) }
let(:variant) { product.master }
@@ -109,7 +109,7 @@ describe Api::VariantsController, type: :controller do
end
context "as an administrator" do
sign_in_as_admin!
let(:current_api_user) { create(:admin_user) }
let(:product) { create(:product) }
let(:variant) { product.master }

View File

@@ -43,7 +43,6 @@ WebMock.disable_net_connect!(
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].sort.each { |f| require f }
require 'spree/api/testing_support/setup'
require 'support/api_helper'
# Capybara config
@@ -159,7 +158,6 @@ RSpec.configure do |config|
config.include PreferencesHelper
config.include ControllerRequestsHelper, type: :controller
config.include Devise::TestHelpers, type: :controller
config.extend Spree::Api::TestingSupport::Setup, type: :controller
config.include OpenFoodNetwork::ApiHelper, type: :controller
config.include OpenFoodNetwork::ControllerHelper, type: :controller
config.include Features::DatepickerHelper, type: :feature