Skip to content

Commit

Permalink
Merge pull request #1494 from dmitry-sinina/add_customer_api_doc
Browse files Browse the repository at this point in the history
add customer api documentation for services and transactions
  • Loading branch information
dmitry-sinina authored Jul 1, 2024
2 parents 3ec53f8 + 67057d3 commit b3bf608
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 1 deletion.
2 changes: 1 addition & 1 deletion app/resources/api/rest/customer/v1/service_resource.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class Api::Rest::Customer::V1::ServiceResource < Api::Rest::Customer::V1::BaseRe
collection: Billing::Service::RENEW_PERIODS.values

def service_type
type.name
_model.type.name
end

def self.sortable_fields(_ctx = nil)
Expand Down
38 changes: 38 additions & 0 deletions spec/acceptance/rest/customer/api/v1/services_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# frozen_string_literal: true

require 'rspec_api_documentation/dsl'

RSpec.resource 'Services', document: :customer_v1 do
header 'Accept', 'application/vnd.api+json'
header 'Content-Type', 'application/vnd.api+json'
header 'Authorization', :auth_token

let(:api_access) { create :api_access }
let(:customer) { api_access.customer }
include_context :customer_v1_cookie_helpers
let(:auth_token) { build_customer_token(api_access.id, expiration: 1.minute.from_now) }
let(:type) { 'payments' }
let!(:account) { create(:account, contractor: customer) }

get '/api/rest/customer/v1/services' do
jsonapi_filters Api::Rest::Customer::V1::ServiceResource._allowed_filters

before do
create_list(:service, 2, account: account)
end

example_request 'get listing' do
expect(status).to eq(200)
end
end

get '/api/rest/customer/v1/services/:id' do
let(:id) do
create(:service, account: account).reload.uuid
end

example_request 'get specific entry' do
expect(status).to eq(200)
end
end
end
38 changes: 38 additions & 0 deletions spec/acceptance/rest/customer/api/v1/transactions_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# frozen_string_literal: true

require 'rspec_api_documentation/dsl'

RSpec.resource 'Transactions', document: :customer_v1 do
header 'Accept', 'application/vnd.api+json'
header 'Content-Type', 'application/vnd.api+json'
header 'Authorization', :auth_token

let(:api_access) { create :api_access }
let(:customer) { api_access.customer }
include_context :customer_v1_cookie_helpers
let(:auth_token) { build_customer_token(api_access.id, expiration: 1.minute.from_now) }
let(:type) { 'payments' }
let!(:account) { create(:account, contractor: customer) }

get '/api/rest/customer/v1/transactions' do
jsonapi_filters Api::Rest::Customer::V1::TransactionResource._allowed_filters

before do
create_list(:billing_transaction, 2, account: account)
end

example_request 'get listing' do
expect(status).to eq(200)
end
end

get '/api/rest/customer/v1/transactions/:id' do
let(:id) do
create(:billing_transaction, account: account).reload.uuid
end

example_request 'get specific entry' do
expect(status).to eq(200)
end
end
end

0 comments on commit b3bf608

Please sign in to comment.