Commit 2cd5f623 authored by eugielimpin's avatar eugielimpin Committed by Douglas Barbosa Alexandre

Setup experiment in Pipeline Editor controller

parent ec60abcf
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
class Projects::Ci::PipelineEditorController < Projects::ApplicationController class Projects::Ci::PipelineEditorController < Projects::ApplicationController
before_action :check_can_collaborate! before_action :check_can_collaborate!
before_action :setup_walkthrough_experiment, only: :show
before_action do before_action do
push_frontend_feature_flag(:schema_linting, @project, default_enabled: :yaml) push_frontend_feature_flag(:schema_linting, @project, default_enabled: :yaml)
end end
...@@ -16,4 +17,10 @@ class Projects::Ci::PipelineEditorController < Projects::ApplicationController ...@@ -16,4 +17,10 @@ class Projects::Ci::PipelineEditorController < Projects::ApplicationController
def check_can_collaborate! def check_can_collaborate!
render_404 unless can_collaborate_with_project?(@project) render_404 unless can_collaborate_with_project?(@project)
end end
def setup_walkthrough_experiment
experiment(:pipeline_editor_walkthrough, actor: current_user) do |e|
e.candidate {}
end
end
end end
---
name: pipeline_editor_walkthrough
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73050
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/345558
milestone: '14.5'
type: experiment
group: group::activation
default_enabled: false
...@@ -6,6 +6,8 @@ RSpec.describe Projects::Ci::PipelineEditorController do ...@@ -6,6 +6,8 @@ RSpec.describe Projects::Ci::PipelineEditorController do
let_it_be(:project) { create(:project, :repository) } let_it_be(:project) { create(:project, :repository) }
let_it_be(:user) { create(:user) } let_it_be(:user) { create(:user) }
subject(:show_request) { get :show, params: { namespace_id: project.namespace, project_id: project } }
before do before do
sign_in(user) sign_in(user)
end end
...@@ -14,8 +16,7 @@ RSpec.describe Projects::Ci::PipelineEditorController do ...@@ -14,8 +16,7 @@ RSpec.describe Projects::Ci::PipelineEditorController do
context 'with enough privileges' do context 'with enough privileges' do
before do before do
project.add_developer(user) project.add_developer(user)
show_request
get :show, params: { namespace_id: project.namespace, project_id: project }
end end
it { expect(response).to have_gitlab_http_status(:ok) } it { expect(response).to have_gitlab_http_status(:ok) }
...@@ -28,13 +29,27 @@ RSpec.describe Projects::Ci::PipelineEditorController do ...@@ -28,13 +29,27 @@ RSpec.describe Projects::Ci::PipelineEditorController do
context 'without enough privileges' do context 'without enough privileges' do
before do before do
project.add_reporter(user) project.add_reporter(user)
show_request
get :show, params: { namespace_id: project.namespace, project_id: project }
end end
it 'responds with 404' do it 'responds with 404' do
expect(response).to have_gitlab_http_status(:not_found) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
describe 'pipeline_editor_walkthrough experiment' do
before do
project.add_developer(user)
end
it 'tracks the assignment', :experiment do
expect(experiment(:pipeline_editor_walkthrough))
.to track(:assignment)
.with_context(actor: user)
.on_next_instance
show_request
end
end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment