chore: Update Help Center APIs to accomodate locale (#4515)
This commit is contained in:
@@ -4,6 +4,6 @@ class Api::V1::Accounts::Kbase::BaseController < Api::V1::Accounts::BaseControll
|
|||||||
private
|
private
|
||||||
|
|
||||||
def portal
|
def portal
|
||||||
@portal ||= Current.account.kbase_portals.find_by(id: params[:portal_id])
|
@portal ||= Current.account.kbase_portals.find_by(slug: params[:portal_id])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
class Api::V1::Accounts::Kbase::PortalsController < Api::V1::Accounts::Kbase::BaseController
|
class Api::V1::Accounts::Kbase::PortalsController < Api::V1::Accounts::BaseController
|
||||||
before_action :fetch_portal, except: [:index, :create]
|
before_action :fetch_portal, except: [:index, :create]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@portals = Current.account.kbase_portals
|
@portals = Current.account.kbase_portals
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show; end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@portal = Current.account.kbase_portals.create!(portal_params)
|
@portal = Current.account.kbase_portals.create!(portal_params)
|
||||||
end
|
end
|
||||||
@@ -21,7 +23,11 @@ class Api::V1::Accounts::Kbase::PortalsController < Api::V1::Accounts::Kbase::Ba
|
|||||||
private
|
private
|
||||||
|
|
||||||
def fetch_portal
|
def fetch_portal
|
||||||
@portal = current_account.kbase_portals.find(params[:id])
|
@portal = Current.account.kbase_portals.find_by(slug: permitted_params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def permitted_params
|
||||||
|
params.permit(:id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def portal_params
|
def portal_params
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#
|
#
|
||||||
# id :bigint not null, primary key
|
# id :bigint not null, primary key
|
||||||
# description :text
|
# description :text
|
||||||
|
# locale :string default("en")
|
||||||
# name :string
|
# name :string
|
||||||
# position :integer
|
# position :integer
|
||||||
# created_at :datetime not null
|
# created_at :datetime not null
|
||||||
@@ -11,6 +12,10 @@
|
|||||||
# account_id :integer not null
|
# account_id :integer not null
|
||||||
# portal_id :integer not null
|
# portal_id :integer not null
|
||||||
#
|
#
|
||||||
|
# Indexes
|
||||||
|
#
|
||||||
|
# index_kbase_categories_on_locale_and_account_id (locale,account_id)
|
||||||
|
#
|
||||||
class Kbase::Category < ApplicationRecord
|
class Kbase::Category < ApplicationRecord
|
||||||
belongs_to :account
|
belongs_to :account
|
||||||
belongs_to :portal
|
belongs_to :portal
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
# Table name: kbase_portals
|
# Table name: kbase_portals
|
||||||
#
|
#
|
||||||
# id :bigint not null, primary key
|
# id :bigint not null, primary key
|
||||||
# account_id :integer not null
|
|
||||||
# color :string
|
# color :string
|
||||||
|
# config :jsonb
|
||||||
# custom_domain :string
|
# custom_domain :string
|
||||||
# header_text :text
|
# header_text :text
|
||||||
# homepage_link :string
|
# homepage_link :string
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
# slug :string not null
|
# slug :string not null
|
||||||
# created_at :datetime not null
|
# created_at :datetime not null
|
||||||
# updated_at :datetime not null
|
# updated_at :datetime not null
|
||||||
|
# account_id :integer not null
|
||||||
#
|
#
|
||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
@@ -26,5 +27,5 @@ class Kbase::Portal < ApplicationRecord
|
|||||||
|
|
||||||
validates :account_id, presence: true
|
validates :account_id, presence: true
|
||||||
validates :name, presence: true
|
validates :name, presence: true
|
||||||
validates :slug, presence: true
|
validates :slug, presence: true, uniqueness: true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,3 +6,4 @@ json.homepage_link portal.homepage_link
|
|||||||
json.name portal.name
|
json.name portal.name
|
||||||
json.page_title portal.page_title
|
json.page_title portal.page_title
|
||||||
json.slug portal.slug
|
json.slug portal.slug
|
||||||
|
json.config portal.config
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
json.payload do
|
json.partial! 'portal', portal: @portal
|
||||||
json.partial! 'portal', portal: @portal
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
json.payload do
|
json.array! @portals, partial: 'portal', as: :portal
|
||||||
json.array! @portals, partial: 'portal', as: :portal
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
json.partial! 'portal', portal: @portal
|
||||||
@@ -1,3 +1 @@
|
|||||||
json.payload do
|
json.partial! 'portal', portal: @portal
|
||||||
json.partial! 'portal', portal: @portal
|
|
||||||
end
|
|
||||||
|
|||||||
1
app/views/public/api/v1/kbase/portal/show.json.jbuilder
Normal file
1
app/views/public/api/v1/kbase/portal/show.json.jbuilder
Normal file
@@ -0,0 +1 @@
|
|||||||
|
json.partial! 'portal', portal: @portal
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
json.id category.id
|
||||||
|
json.name category.name
|
||||||
|
json.locale category.locale
|
||||||
|
json.description category.description
|
||||||
|
json.position category.position
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
json.id portal.id
|
||||||
|
json.color portal.color
|
||||||
|
json.custom_domain portal.custom_domain
|
||||||
|
json.header_text portal.header_text
|
||||||
|
json.homepage_link portal.homepage_link
|
||||||
|
json.name portal.name
|
||||||
|
json.page_title portal.page_title
|
||||||
|
json.slug portal.slug
|
||||||
|
json.config portal.config
|
||||||
5
db/migrate/20220416203340_add_config_to_portal.rb
Normal file
5
db/migrate/20220416203340_add_config_to_portal.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
class AddConfigToPortal < ActiveRecord::Migration[6.1]
|
||||||
|
def change
|
||||||
|
add_column :kbase_portals, :config, :jsonb, default: { allowed_locales: ['en'] }
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
class AddLocaleToKbaseCategory < ActiveRecord::Migration[6.1]
|
||||||
|
def change
|
||||||
|
add_column :kbase_categories, :locale, :string, default: 'en'
|
||||||
|
add_index :kbase_categories, :locale
|
||||||
|
add_index :kbase_categories, [:locale, :account_id]
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -507,6 +507,8 @@ ActiveRecord::Schema.define(version: 2022_04_18_094715) do
|
|||||||
t.integer "position"
|
t.integer "position"
|
||||||
t.datetime "created_at", precision: 6, null: false
|
t.datetime "created_at", precision: 6, null: false
|
||||||
t.datetime "updated_at", precision: 6, null: false
|
t.datetime "updated_at", precision: 6, null: false
|
||||||
|
t.string "locale", default: "en"
|
||||||
|
t.index ["locale", "account_id"], name: "index_kbase_categories_on_locale_and_account_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "kbase_folders", force: :cascade do |t|
|
create_table "kbase_folders", force: :cascade do |t|
|
||||||
@@ -528,6 +530,7 @@ ActiveRecord::Schema.define(version: 2022_04_18_094715) do
|
|||||||
t.text "header_text"
|
t.text "header_text"
|
||||||
t.datetime "created_at", precision: 6, null: false
|
t.datetime "created_at", precision: 6, null: false
|
||||||
t.datetime "updated_at", precision: 6, null: false
|
t.datetime "updated_at", precision: 6, null: false
|
||||||
|
t.jsonb "config", default: {"allowed_locales"=>["en"]}
|
||||||
t.index ["slug"], name: "index_kbase_portals_on_slug", unique: true
|
t.index ["slug"], name: "index_kbase_portals_on_slug", unique: true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
let!(:portal) { create(:kbase_portal, name: 'test_portal', account_id: account.id) }
|
let!(:portal) { create(:kbase_portal, name: 'test_portal', account_id: account.id) }
|
||||||
let!(:category) { create(:kbase_category, name: 'category', portal: portal, account_id: account.id) }
|
let!(:category) { create(:kbase_category, name: 'category', portal: portal, account_id: account.id) }
|
||||||
|
|
||||||
describe 'POST /api/v1/accounts/{account.id}/kbase/portals/{portal.id}/categories' do
|
describe 'POST /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}/categories' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
it 'returns unauthorized' do
|
it 'returns unauthorized' do
|
||||||
post "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories", params: {}
|
post "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories", params: {}
|
||||||
expect(response).to have_http_status(:unauthorized)
|
expect(response).to have_http_status(:unauthorized)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -23,7 +23,7 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
position: 1
|
position: 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
post "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories",
|
post "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories",
|
||||||
params: category_params,
|
params: category_params,
|
||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
@@ -33,10 +33,10 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'PUT /api/v1/accounts/{account.id}/kbase/portals/{portal.id}/categories/{category.id}' do
|
describe 'PUT /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}/categories/{category.id}' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
it 'returns unauthorized' do
|
it 'returns unauthorized' do
|
||||||
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories/#{category.id}", params: {}
|
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories/#{category.id}", params: {}
|
||||||
expect(response).to have_http_status(:unauthorized)
|
expect(response).to have_http_status(:unauthorized)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -53,7 +53,7 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
|
|
||||||
expect(category.name).not_to eql(category_params[:category][:name])
|
expect(category.name).not_to eql(category_params[:category][:name])
|
||||||
|
|
||||||
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories/#{category.id}",
|
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories/#{category.id}",
|
||||||
params: category_params,
|
params: category_params,
|
||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
@@ -63,17 +63,17 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'DELETE /api/v1/accounts/{account.id}/kbase/portals/{portal.id}/categories/{category.id}' do
|
describe 'DELETE /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}/categories/{category.id}' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
it 'returns unauthorized' do
|
it 'returns unauthorized' do
|
||||||
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories/#{category.id}", params: {}
|
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories/#{category.id}", params: {}
|
||||||
expect(response).to have_http_status(:unauthorized)
|
expect(response).to have_http_status(:unauthorized)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when it is an authenticated user' do
|
context 'when it is an authenticated user' do
|
||||||
it 'deletes category' do
|
it 'deletes category' do
|
||||||
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories/#{category.id}",
|
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories/#{category.id}",
|
||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
deleted_category = Kbase::Category.find_by(id: category.id)
|
deleted_category = Kbase::Category.find_by(id: category.id)
|
||||||
@@ -82,10 +82,10 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'GET /api/v1/accounts/{account.id}/kbase/portals/{portal.id}/categories' do
|
describe 'GET /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}/categories' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
it 'returns unauthorized' do
|
it 'returns unauthorized' do
|
||||||
get "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories"
|
get "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories"
|
||||||
expect(response).to have_http_status(:unauthorized)
|
expect(response).to have_http_status(:unauthorized)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -95,7 +95,7 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Categories', type: :request do
|
|||||||
category2 = create(:kbase_category, name: 'test_category_2', portal: portal)
|
category2 = create(:kbase_category, name: 'test_category_2', portal: portal)
|
||||||
expect(category2.id).not_to be nil
|
expect(category2.id).not_to be nil
|
||||||
|
|
||||||
get "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}/categories",
|
get "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}/categories",
|
||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
json_response = JSON.parse(response.body)
|
json_response = JSON.parse(response.body)
|
||||||
@@ -3,7 +3,47 @@ require 'rails_helper'
|
|||||||
RSpec.describe 'Api::V1::Accounts::Kbase::Portals', type: :request do
|
RSpec.describe 'Api::V1::Accounts::Kbase::Portals', type: :request do
|
||||||
let(:account) { create(:account) }
|
let(:account) { create(:account) }
|
||||||
let(:agent) { create(:user, account: account, role: :agent) }
|
let(:agent) { create(:user, account: account, role: :agent) }
|
||||||
let!(:portal) { create(:kbase_portal, name: 'test_portal', account_id: account.id) }
|
let!(:portal) { create(:kbase_portal, slug: 'portal-1', name: 'test_portal', account_id: account.id) }
|
||||||
|
|
||||||
|
describe 'GET /api/v1/accounts/{account.id}/kbase/portals' do
|
||||||
|
context 'when it is an unauthenticated user' do
|
||||||
|
it 'returns unauthorized' do
|
||||||
|
get "/api/v1/accounts/#{account.id}/kbase/portals"
|
||||||
|
expect(response).to have_http_status(:unauthorized)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when it is an authenticated user' do
|
||||||
|
it 'get all portals' do
|
||||||
|
portal2 = create(:kbase_portal, name: 'test_portal_2', account_id: account.id, slug: 'portal-2')
|
||||||
|
expect(portal2.id).not_to be nil
|
||||||
|
get "/api/v1/accounts/#{account.id}/kbase/portals",
|
||||||
|
headers: agent.create_new_auth_token
|
||||||
|
expect(response).to have_http_status(:success)
|
||||||
|
json_response = JSON.parse(response.body)
|
||||||
|
expect(json_response.count).to be 2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'GET /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}' do
|
||||||
|
context 'when it is an unauthenticated user' do
|
||||||
|
it 'returns unauthorized' do
|
||||||
|
get "/api/v1/accounts/#{account.id}/kbase/portals"
|
||||||
|
expect(response).to have_http_status(:unauthorized)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when it is an authenticated user' do
|
||||||
|
it 'get one portals' do
|
||||||
|
get "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}",
|
||||||
|
headers: agent.create_new_auth_token
|
||||||
|
expect(response).to have_http_status(:success)
|
||||||
|
json_response = JSON.parse(response.body)
|
||||||
|
expect(json_response['name']).to eq portal.name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe 'POST /api/v1/accounts/{account.id}/kbase/portals' do
|
describe 'POST /api/v1/accounts/{account.id}/kbase/portals' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
@@ -26,15 +66,15 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Portals', type: :request do
|
|||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
json_response = JSON.parse(response.body)
|
json_response = JSON.parse(response.body)
|
||||||
expect(json_response['payload']['name']).to eql('test_portal')
|
expect(json_response['name']).to eql('test_portal')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'PUT /api/v1/accounts/{account.id}/kbase/portals/{portal.id}' do
|
describe 'PUT /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
it 'returns unauthorized' do
|
it 'returns unauthorized' do
|
||||||
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}", params: {}
|
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}", params: {}
|
||||||
expect(response).to have_http_status(:unauthorized)
|
expect(response).to have_http_status(:unauthorized)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -49,53 +89,32 @@ RSpec.describe 'Api::V1::Accounts::Kbase::Portals', type: :request do
|
|||||||
|
|
||||||
expect(portal.name).to eql('test_portal')
|
expect(portal.name).to eql('test_portal')
|
||||||
|
|
||||||
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}",
|
put "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}",
|
||||||
params: portal_params,
|
params: portal_params,
|
||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
json_response = JSON.parse(response.body)
|
json_response = JSON.parse(response.body)
|
||||||
expect(json_response['payload']['name']).to eql(portal_params[:portal][:name])
|
expect(json_response['name']).to eql(portal_params[:portal][:name])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'DELETE /api/v1/accounts/{account.id}/kbase/portals/{portal.id}' do
|
describe 'DELETE /api/v1/accounts/{account.id}/kbase/portals/{portal.slug}' do
|
||||||
context 'when it is an unauthenticated user' do
|
context 'when it is an unauthenticated user' do
|
||||||
it 'returns unauthorized' do
|
it 'returns unauthorized' do
|
||||||
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}", params: {}
|
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}", params: {}
|
||||||
expect(response).to have_http_status(:unauthorized)
|
expect(response).to have_http_status(:unauthorized)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when it is an authenticated user' do
|
context 'when it is an authenticated user' do
|
||||||
it 'deletes portal' do
|
it 'deletes portal' do
|
||||||
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.id}",
|
delete "/api/v1/accounts/#{account.id}/kbase/portals/#{portal.slug}",
|
||||||
headers: agent.create_new_auth_token
|
headers: agent.create_new_auth_token
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
deleted_portal = Kbase::Portal.find_by(id: portal.id)
|
deleted_portal = Kbase::Portal.find_by(id: portal.slug)
|
||||||
expect(deleted_portal).to be nil
|
expect(deleted_portal).to be nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'GET /api/v1/accounts/{account.id}/kbase/portals' do
|
|
||||||
context 'when it is an unauthenticated user' do
|
|
||||||
it 'returns unauthorized' do
|
|
||||||
get "/api/v1/accounts/#{account.id}/kbase/portals"
|
|
||||||
expect(response).to have_http_status(:unauthorized)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when it is an authenticated user' do
|
|
||||||
it 'get all portals' do
|
|
||||||
portal2 = create(:kbase_portal, name: 'test_portal_2', account_id: account.id)
|
|
||||||
expect(portal2.id).not_to be nil
|
|
||||||
get "/api/v1/accounts/#{account.id}/kbase/portals",
|
|
||||||
headers: agent.create_new_auth_token
|
|
||||||
expect(response).to have_http_status(:success)
|
|
||||||
json_response = JSON.parse(response.body)
|
|
||||||
expect(json_response['payload'].count).to be 2
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user