diff --git a/engines/dfc_provider/app/controllers/dfc_provider/api/products_controller.rb b/engines/dfc_provider/app/controllers/dfc_provider/api/catalog_items_controller.rb similarity index 52% rename from engines/dfc_provider/app/controllers/dfc_provider/api/products_controller.rb rename to engines/dfc_provider/app/controllers/dfc_provider/api/catalog_items_controller.rb index 0e96881a90..a581d26813 100644 --- a/engines/dfc_provider/app/controllers/dfc_provider/api/products_controller.rb +++ b/engines/dfc_provider/app/controllers/dfc_provider/api/catalog_items_controller.rb @@ -3,18 +3,17 @@ # Controller used to provide the API products for the DFC application module DfcProvider module Api - class ProductsController < BaseController - # To access 'base_url' helper - include Rails.application.routes.url_helpers - + class CatalogItemsController < BaseController def index render json: @user, serializer: DfcProvider::PersonSerializer end def show - @variant = Spree::Variant.joins(product: :supplier) - .where('enterprises.id' => @enterprise.id) - .find(params[:id]) + @variant = + Spree::Variant. + joins(product: :supplier). + where('enterprises.id' => @enterprise.id). + find(params[:id]) render json: @variant, serializer: DfcProvider::CatalogItemSerializer end diff --git a/engines/dfc_provider/app/serializers/dfc_provider/catalog_item_serializer.rb b/engines/dfc_provider/app/serializers/dfc_provider/catalog_item_serializer.rb index e0d8612b07..412f39bd70 100644 --- a/engines/dfc_provider/app/serializers/dfc_provider/catalog_item_serializer.rb +++ b/engines/dfc_provider/app/serializers/dfc_provider/catalog_item_serializer.rb @@ -16,7 +16,7 @@ module DfcProvider delegate :sku, to: :object def id - dfc_provider_routes.api_dfc_provider_enterprise_product_url( + dfc_provider_routes.api_dfc_provider_enterprise_catalog_item_url( enterprise_id: object.product.supplier_id, id: object.id, host: root_url diff --git a/engines/dfc_provider/config/routes.rb b/engines/dfc_provider/config/routes.rb index e4d8385a4f..eecfa7ee42 100644 --- a/engines/dfc_provider/config/routes.rb +++ b/engines/dfc_provider/config/routes.rb @@ -4,7 +4,7 @@ DfcProvider::Engine.routes.draw do namespace :api do scope :dfc_provider, as: :dfc_provider, path: '/dfc_provider' do resources :enterprises, only: [:show] do - resources :products, only: [:index, :show] + resources :catalog_item, only: [:index, :show] end end end diff --git a/engines/dfc_provider/spec/controllers/dfc_provider/api/products_controller_spec.rb b/engines/dfc_provider/spec/controllers/dfc_provider/api/catalog_items_controller_spec.rb similarity index 98% rename from engines/dfc_provider/spec/controllers/dfc_provider/api/products_controller_spec.rb rename to engines/dfc_provider/spec/controllers/dfc_provider/api/catalog_items_controller_spec.rb index 042d2cbbe9..51b0692bd3 100644 --- a/engines/dfc_provider/spec/controllers/dfc_provider/api/products_controller_spec.rb +++ b/engines/dfc_provider/spec/controllers/dfc_provider/api/catalog_items_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe DfcProvider::Api::ProductsController, type: :controller do +describe DfcProvider::Api::CatalogItemsController, type: :controller do render_views let!(:user) { create(:user) } diff --git a/engines/dfc_provider/spec/controllers/dfc_provider/api/enterprises_spec.rb b/engines/dfc_provider/spec/controllers/dfc_provider/api/enterprises_spec.rb index 989bd2bb8b..883d6c61b7 100644 --- a/engines/dfc_provider/spec/controllers/dfc_provider/api/enterprises_spec.rb +++ b/engines/dfc_provider/spec/controllers/dfc_provider/api/enterprises_spec.rb @@ -41,6 +41,14 @@ describe DfcProvider::Api::EnterprisesController, type: :controller do end end end + + context 'given with a wrong id' do + before { api_get :show, id: 999 } + + it 'returns 404' do + expect(response.status).to eq 404 + end + end end end end