summaryrefslogtreecommitdiff
path: root/spec/requests/projects/cycle_analytics_events_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/projects/cycle_analytics_events_spec.rb')
-rw-r--r--spec/requests/projects/cycle_analytics_events_spec.rb134
1 files changed, 58 insertions, 76 deletions
diff --git a/spec/requests/projects/cycle_analytics_events_spec.rb b/spec/requests/projects/cycle_analytics_events_spec.rb
index f8fa9459467..565576f3091 100644
--- a/spec/requests/projects/cycle_analytics_events_spec.rb
+++ b/spec/requests/projects/cycle_analytics_events_spec.rb
@@ -7,113 +7,95 @@ RSpec.describe 'value stream analytics events' do
let(:project) { create(:project, :repository, public_builds: false) }
let(:issue) { create(:issue, project: project, created_at: 2.days.ago) }
- shared_examples 'value stream analytics events examples' do
- describe 'GET /:namespace/:project/value_stream_analytics/events/issues' do
- before do
- project.add_developer(user)
+ describe 'GET /:namespace/:project/value_stream_analytics/events/issues' do
+ before do
+ project.add_developer(user)
- 3.times do |count|
- travel_to(Time.now + count.days) do
- create_cycle
- end
+ 3.times do |count|
+ travel_to(Time.now + count.days) do
+ create_cycle
end
-
- deploy_master(user, project)
-
- login_as(user)
end
- it 'lists the issue events' do
- get project_cycle_analytics_issue_path(project, format: :json)
+ deploy_master(user, project)
- first_issue_iid = project.issues.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
+ login_as(user)
+ end
- expect(json_response['events']).not_to be_empty
- expect(json_response['events'].first['iid']).to eq(first_issue_iid)
- end
+ it 'lists the issue events' do
+ get project_cycle_analytics_issue_path(project, format: :json)
- it 'lists the plan events' do
- get project_cycle_analytics_plan_path(project, format: :json)
+ first_issue_iid = project.issues.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
- first_issue_iid = project.issues.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
+ expect(json_response['events']).not_to be_empty
+ expect(json_response['events'].first['iid']).to eq(first_issue_iid)
+ end
- expect(json_response['events']).not_to be_empty
- expect(json_response['events'].first['iid']).to eq(first_issue_iid)
- end
+ it 'lists the plan events' do
+ get project_cycle_analytics_plan_path(project, format: :json)
- it 'lists the code events' do
- get project_cycle_analytics_code_path(project, format: :json)
+ first_issue_iid = project.issues.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
- expect(json_response['events']).not_to be_empty
+ expect(json_response['events']).not_to be_empty
+ expect(json_response['events'].first['iid']).to eq(first_issue_iid)
+ end
- first_mr_iid = project.merge_requests.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
+ it 'lists the code events' do
+ get project_cycle_analytics_code_path(project, format: :json)
- expect(json_response['events'].first['iid']).to eq(first_mr_iid)
- end
+ expect(json_response['events']).not_to be_empty
- it 'lists the test events', :sidekiq_inline do
- get project_cycle_analytics_test_path(project, format: :json)
+ first_mr_iid = project.merge_requests.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
- expect(json_response['events']).not_to be_empty
- expect(json_response['events'].first['date']).not_to be_empty
- end
+ expect(json_response['events'].first['iid']).to eq(first_mr_iid)
+ end
- it 'lists the review events' do
- get project_cycle_analytics_review_path(project, format: :json)
+ it 'lists the test events', :sidekiq_inline do
+ get project_cycle_analytics_test_path(project, format: :json)
- first_mr_iid = project.merge_requests.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
+ expect(json_response['events']).not_to be_empty
+ expect(json_response['events'].first['date']).not_to be_empty
+ end
- expect(json_response['events']).not_to be_empty
- expect(json_response['events'].first['iid']).to eq(first_mr_iid)
- end
+ it 'lists the review events' do
+ get project_cycle_analytics_review_path(project, format: :json)
- it 'lists the staging events', :sidekiq_inline do
- get project_cycle_analytics_staging_path(project, format: :json)
+ first_mr_iid = project.merge_requests.sort_by_attribute(:created_desc).pluck(:iid).first.to_s
- expect(json_response['events']).not_to be_empty
- expect(json_response['events'].first['date']).not_to be_empty
- end
+ expect(json_response['events']).not_to be_empty
+ expect(json_response['events'].first['iid']).to eq(first_mr_iid)
+ end
- context 'with private project and builds' do
- before do
- project.members.last.update(access_level: Gitlab::Access::GUEST)
- end
+ it 'lists the staging events', :sidekiq_inline do
+ get project_cycle_analytics_staging_path(project, format: :json)
- it 'does not list the test events' do
- get project_cycle_analytics_test_path(project, format: :json)
+ expect(json_response['events']).not_to be_empty
+ expect(json_response['events'].first['date']).not_to be_empty
+ end
- expect(response).to have_gitlab_http_status(:not_found)
- end
+ context 'with private project and builds' do
+ before do
+ project.members.last.update(access_level: Gitlab::Access::GUEST)
+ end
- it 'does not list the staging events' do
- get project_cycle_analytics_staging_path(project, format: :json)
+ it 'does not list the test events' do
+ get project_cycle_analytics_test_path(project, format: :json)
- expect(response).to have_gitlab_http_status(:not_found)
- end
+ expect(response).to have_gitlab_http_status(:not_found)
+ end
- it 'lists the issue events' do
- get project_cycle_analytics_issue_path(project, format: :json)
+ it 'does not list the staging events' do
+ get project_cycle_analytics_staging_path(project, format: :json)
- expect(response).to have_gitlab_http_status(:ok)
- end
+ expect(response).to have_gitlab_http_status(:not_found)
end
- end
- end
- describe 'when new_project_level_vsa_backend feature flag is off' do
- before do
- stub_feature_flags(new_project_level_vsa_backend: false, thing: project)
- end
-
- it_behaves_like 'value stream analytics events examples'
- end
+ it 'lists the issue events' do
+ get project_cycle_analytics_issue_path(project, format: :json)
- describe 'when new_project_level_vsa_backend feature flag is on' do
- before do
- stub_feature_flags(new_project_level_vsa_backend: true, thing: project)
+ expect(response).to have_gitlab_http_status(:ok)
+ end
end
-
- it_behaves_like 'value stream analytics events examples'
end
def create_cycle