From 422d0fba3cee0791b0b045f5f4f214550013cb6d Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 27 Aug 2024 16:01:43 +1000 Subject: [PATCH] [wip] Add request (swagger) spec --- .../persons/affiliate_sales_data_spec.rb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 engines/dfc_provider/spec/requests/persons/affiliate_sales_data_spec.rb diff --git a/engines/dfc_provider/spec/requests/persons/affiliate_sales_data_spec.rb b/engines/dfc_provider/spec/requests/persons/affiliate_sales_data_spec.rb new file mode 100644 index 0000000000..aec6d86905 --- /dev/null +++ b/engines/dfc_provider/spec/requests/persons/affiliate_sales_data_spec.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require_relative "../../swagger_helper" + +RSpec.describe "Persons", swagger_doc: "dfc.yaml", rswag_autodoc: true do + let(:user) { create(:oidc_user, id: 10_000) } + let(:other_user) { create(:oidc_user) } + + before { login_as user } + + path "/api/dfc/persons/{id}/affiliate_sales_data" do + get "Show sales data of person's affiliate enterprises" do + parameter name: :id, in: :path, type: :string + produces "application/json" + + response "200", "successful" do + let(:id) { user.id } + + run_test! do + expect(response.body).to include "dfc-b:Person" # although it seems pointless here + expect(response.body).to include "persons/10000" + end + end + + response "404", "not found" do + let(:id) { other_user.id } + + run_test! do + expect(response.body).not_to include "dfc-b:Person" + end + end + end + end +end