Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/explore/catalog_controller_spec.rb')
-rw-r--r--spec/requests/explore/catalog_controller_spec.rb54
1 files changed, 35 insertions, 19 deletions
diff --git a/spec/requests/explore/catalog_controller_spec.rb b/spec/requests/explore/catalog_controller_spec.rb
index 50a2240e040..e75b0bba5a6 100644
--- a/spec/requests/explore/catalog_controller_spec.rb
+++ b/spec/requests/explore/catalog_controller_spec.rb
@@ -3,8 +3,16 @@
require 'spec_helper'
RSpec.describe Explore::CatalogController, feature_category: :pipeline_composition do
+ let_it_be(:namespace) { create(:group) }
+ let_it_be(:project) { create(:project, namespace: namespace) }
+ let_it_be(:catalog_resource) { create(:ci_catalog_resource, :published, project: project) }
+
let_it_be(:user) { create(:user) }
+ before_all do
+ catalog_resource.project.add_reporter(user)
+ end
+
before do
sign_in(user)
end
@@ -14,40 +22,48 @@ RSpec.describe Explore::CatalogController, feature_category: :pipeline_compositi
if action == :index
explore_catalog_index_path
else
- explore_catalog_path(id: 1)
+ explore_catalog_path(catalog_resource)
end
end
- context 'with FF `global_ci_catalog`' do
- before do
- stub_feature_flags(global_ci_catalog: true)
- end
-
- it 'responds with 200' do
- get path
+ it 'responds with 200' do
+ get path
- expect(response).to have_gitlab_http_status(:ok)
- end
+ expect(response).to have_gitlab_http_status(:ok)
end
+ end
- context 'without FF `global_ci_catalog`' do
- before do
- stub_feature_flags(global_ci_catalog: false)
- end
+ describe 'GET #show' do
+ it_behaves_like 'basic get requests', :show
- it 'responds with 404' do
- get path
+ context 'when rendering a draft catalog resource' do
+ it 'returns not found error' do
+ draft_catalog_resource = create(:ci_catalog_resource, state: :draft)
+
+ get explore_catalog_path(draft_catalog_resource)
expect(response).to have_gitlab_http_status(:not_found)
end
end
- end
- describe 'GET #show' do
- it_behaves_like 'basic get requests', :show
+ context 'when rendering a published catalog resource' do
+ it 'returns success response' do
+ get explore_catalog_path(catalog_resource)
+
+ expect(response).to have_gitlab_http_status(:success)
+ end
+ end
end
describe 'GET #index' do
+ let(:subject) { get explore_catalog_index_path }
+
it_behaves_like 'basic get requests', :index
+
+ it_behaves_like 'internal event tracking' do
+ let(:namespace) { user.namespace }
+ let(:project) { nil }
+ let(:event) { 'unique_users_visiting_ci_catalog' }
+ end
end
end