...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
require 'spec_helper' require 'spec_helper'
describe API::Issues do describe API::Issues do
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:project) do let_it_be(:project, reload: true) do
create(:project, :public, creator_id: user.id, namespace: user.namespace) create(:project, :public, creator_id: user.id, namespace: user.namespace)
end end
let(:user2) { create(:user) } let(:user2) { create(:user) }
let(:non_member) { create(:user) } let(:non_member) { create(:user) }
set(:guest) { create(:user) } let_it_be(:guest) { create(:user) }
set(:author) { create(:author) } let_it_be(:author) { create(:author) }
set(:assignee) { create(:assignee) } let_it_be(:assignee) { create(:assignee) }
let(:admin) { create(:user, :admin) } let(:admin) { create(:user, :admin) }
let(:issue_title) { 'foo' } let(:issue_title) { 'foo' }
let(:issue_description) { 'closed' } let(:issue_description) { 'closed' }
...@@ -47,12 +47,12 @@ describe API::Issues do ...@@ -47,12 +47,12 @@ describe API::Issues do
title: issue_title, title: issue_title,
description: issue_description description: issue_description
end end
set(:label) do let_it_be(:label) do
create(:label, title: 'label', color: '#FFAABB', project: project) create(:label, title: 'label', color: '#FFAABB', project: project)
end end
let!(:label_link) { create(:label_link, label: label, target: issue) } let!(:label_link) { create(:label_link, label: label, target: issue) }
let(:milestone) { create(:milestone, title: '1.0.0', project: project) } let(:milestone) { create(:milestone, title: '1.0.0', project: project) }
set(:empty_milestone) do let_it_be(:empty_milestone) do
create(:milestone, title: '2.0.0', project: project) create(:milestone, title: '2.0.0', project: project)
end end
let!(:note) { create(:note_on_issue, author: user, project: project, noteable: issue) } let!(:note) { create(:note_on_issue, author: user, project: project, noteable: issue) }
... ...
......
...@@ -31,11 +31,11 @@ describe API::Jobs do ...@@ -31,11 +31,11 @@ describe API::Jobs do
end end
end end
set(:project) do let_it_be(:project, reload: true) do
create(:project, :repository, public_builds: false) create(:project, :repository, public_builds: false)
end end
set(:pipeline) do let_it_be(:pipeline, reload: true) do
create(:ci_empty_pipeline, project: project, create(:ci_empty_pipeline, project: project,
sha: project.commit.id, sha: project.commit.id,
ref: project.default_branch) ref: project.default_branch)
... ...
......
...@@ -52,8 +52,8 @@ describe API::Markdown do ...@@ -52,8 +52,8 @@ describe API::Markdown do
end end
context "when arguments are valid" do context "when arguments are valid" do
set(:project) { create(:project) } let_it_be(:project) { create(:project) }
set(:issue) { create(:issue, project: project) } let_it_be(:issue) { create(:issue, project: project) }
let(:text) { ":tada: Hello world! :100: #{issue.to_reference}" } let(:text) { ":tada: Hello world! :100: #{issue.to_reference}" }
context "when not using gfm" do context "when not using gfm" do
... ...
......
...@@ -6,9 +6,9 @@ describe API::MergeRequests do ...@@ -6,9 +6,9 @@ describe API::MergeRequests do
include ProjectForksHelper include ProjectForksHelper
let(:base_time) { Time.now } let(:base_time) { Time.now }
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:user2) { create(:user) } let_it_be(:user2) { create(:user) }
set(:admin) { create(:user, :admin) } let_it_be(:admin) { create(:user, :admin) }
let(:project) { create(:project, :public, :repository, creator: user, namespace: user.namespace, only_allow_merge_if_pipeline_succeeds: false) } let(:project) { create(:project, :public, :repository, creator: user, namespace: user.namespace, only_allow_merge_if_pipeline_succeeds: false) }
let(:milestone) { create(:milestone, title: '1.0.0', project: project) } let(:milestone) { create(:milestone, title: '1.0.0', project: project) }
let(:milestone1) { create(:milestone, title: '0.9', project: project) } let(:milestone1) { create(:milestone, title: '0.9', project: project) }
... ...
......
...@@ -6,16 +6,15 @@ describe "Internal Project Pages Access" do ...@@ -6,16 +6,15 @@ describe "Internal Project Pages Access" do
using RSpec::Parameterized::TableSyntax using RSpec::Parameterized::TableSyntax
include AccessMatchers include AccessMatchers
set(:group) { create(:group) } let_it_be(:group) { create(:group) }
set(:project) { create(:project, :internal, pages_access_level: ProjectFeature::ENABLED, namespace: group) } let_it_be(:project, reload: true) { create(:project, :internal, pages_access_level: ProjectFeature::ENABLED, namespace: group) }
let_it_be(:admin) { create(:admin) }
set(:admin) { create(:admin) } let_it_be(:owner) { create(:user) }
set(:owner) { create(:user) } let_it_be(:master) { create(:user) }
set(:master) { create(:user) } let_it_be(:developer) { create(:user) }
set(:developer) { create(:user) } let_it_be(:reporter) { create(:user) }
set(:reporter) { create(:user) } let_it_be(:guest) { create(:user) }
set(:guest) { create(:user) } let_it_be(:user) { create(:user) }
set(:user) { create(:user) }
before do before do
allow(Gitlab.config.pages).to receive(:access_control).and_return(true) allow(Gitlab.config.pages).to receive(:access_control).and_return(true)
... ...
......
...@@ -6,16 +6,15 @@ describe "Private Project Pages Access" do ...@@ -6,16 +6,15 @@ describe "Private Project Pages Access" do
using RSpec::Parameterized::TableSyntax using RSpec::Parameterized::TableSyntax
include AccessMatchers include AccessMatchers
set(:group) { create(:group) } let_it_be(:group) { create(:group) }
set(:project) { create(:project, :private, pages_access_level: ProjectFeature::ENABLED, namespace: group) } let_it_be(:project, reload: true) { create(:project, :private, pages_access_level: ProjectFeature::ENABLED, namespace: group) }
let_it_be(:admin) { create(:admin) }
set(:admin) { create(:admin) } let_it_be(:owner) { create(:user) }
set(:owner) { create(:user) } let_it_be(:master) { create(:user) }
set(:master) { create(:user) } let_it_be(:developer) { create(:user) }
set(:developer) { create(:user) } let_it_be(:reporter) { create(:user) }
set(:reporter) { create(:user) } let_it_be(:guest) { create(:user) }
set(:guest) { create(:user) } let_it_be(:user) { create(:user) }
set(:user) { create(:user) }
before do before do
allow(Gitlab.config.pages).to receive(:access_control).and_return(true) allow(Gitlab.config.pages).to receive(:access_control).and_return(true)
... ...
......
...@@ -6,16 +6,15 @@ describe "Public Project Pages Access" do ...@@ -6,16 +6,15 @@ describe "Public Project Pages Access" do
using RSpec::Parameterized::TableSyntax using RSpec::Parameterized::TableSyntax
include AccessMatchers include AccessMatchers
set(:group) { create(:group) } let_it_be(:group) { create(:group) }
set(:project) { create(:project, :public, pages_access_level: ProjectFeature::ENABLED, namespace: group) } let_it_be(:project, reload: true) { create(:project, :public, pages_access_level: ProjectFeature::ENABLED, namespace: group) }
let_it_be(:admin) { create(:admin) }
set(:admin) { create(:admin) } let_it_be(:owner) { create(:user) }
set(:owner) { create(:user) } let_it_be(:master) { create(:user) }
set(:master) { create(:user) } let_it_be(:developer) { create(:user) }
set(:developer) { create(:user) } let_it_be(:reporter) { create(:user) }
set(:reporter) { create(:user) } let_it_be(:guest) { create(:user) }
set(:guest) { create(:user) } let_it_be(:user) { create(:user) }
set(:user) { create(:user) }
before do before do
allow(Gitlab.config.pages).to receive(:access_control).and_return(true) allow(Gitlab.config.pages).to receive(:access_control).and_return(true)
... ...
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
require 'spec_helper' require 'spec_helper'
describe API::PipelineSchedules do describe API::PipelineSchedules do
set(:developer) { create(:user) } let_it_be(:developer) { create(:user) }
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:project) { create(:project, :repository, public_builds: false) } let_it_be(:project) { create(:project, :repository, public_builds: false) }
before do before do
project.add_developer(developer) project.add_developer(developer)
...@@ -375,7 +375,7 @@ describe API::PipelineSchedules do ...@@ -375,7 +375,7 @@ describe API::PipelineSchedules do
describe 'POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables' do describe 'POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables' do
let(:params) { attributes_for(:ci_pipeline_schedule_variable) } let(:params) { attributes_for(:ci_pipeline_schedule_variable) }
set(:pipeline_schedule) do let_it_be(:pipeline_schedule) do
create(:ci_pipeline_schedule, project: project, owner: developer) create(:ci_pipeline_schedule, project: project, owner: developer)
end end
...@@ -432,7 +432,7 @@ describe API::PipelineSchedules do ...@@ -432,7 +432,7 @@ describe API::PipelineSchedules do
end end
describe 'PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key' do describe 'PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key' do
set(:pipeline_schedule) do let_it_be(:pipeline_schedule) do
create(:ci_pipeline_schedule, project: project, owner: developer) create(:ci_pipeline_schedule, project: project, owner: developer)
end end
...@@ -472,7 +472,7 @@ describe API::PipelineSchedules do ...@@ -472,7 +472,7 @@ describe API::PipelineSchedules do
describe 'DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key' do describe 'DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key' do
let(:maintainer) { create(:user) } let(:maintainer) { create(:user) }
set(:pipeline_schedule) do let_it_be(:pipeline_schedule) do
create(:ci_pipeline_schedule, project: project, owner: developer) create(:ci_pipeline_schedule, project: project, owner: developer)
end end
... ...
......
...@@ -5,12 +5,11 @@ require 'spec_helper' ...@@ -5,12 +5,11 @@ require 'spec_helper'
describe API::ProjectContainerRepositories do describe API::ProjectContainerRepositories do
include ExclusiveLeaseHelpers include ExclusiveLeaseHelpers
set(:project) { create(:project, :private) } let_it_be(:project) { create(:project, :private) }
set(:maintainer) { create(:user) } let_it_be(:maintainer) { create(:user) }
set(:developer) { create(:user) } let_it_be(:developer) { create(:user) }
set(:reporter) { create(:user) } let_it_be(:reporter) { create(:user) }
set(:guest) { create(:user) } let_it_be(:guest) { create(:user) }
let(:root_repository) { create(:container_repository, :root, project: project) } let(:root_repository) { create(:container_repository, :root, project: project) }
let(:test_repository) { create(:container_repository, project: project) } let(:test_repository) { create(:container_repository, project: project) }
... ...
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
require 'spec_helper' require 'spec_helper'
describe API::ProjectExport, :clean_gitlab_redis_cache do describe API::ProjectExport, :clean_gitlab_redis_cache do
set(:project) { create(:project) } let_it_be(:project) { create(:project) }
set(:project_none) { create(:project) } let_it_be(:project_none) { create(:project) }
set(:project_started) { create(:project) } let_it_be(:project_started) { create(:project) }
let(:project_finished) { create(:project, :with_export) } let(:project_finished) { create(:project, :with_export) }
let(:project_after_export) { create(:project, :with_export) } let(:project_after_export) { create(:project, :with_export) }
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:admin) { create(:admin) } let_it_be(:admin) { create(:admin) }
let(:path) { "/projects/#{project.id}/export" } let(:path) { "/projects/#{project.id}/export" }
let(:path_none) { "/projects/#{project_none.id}/export" } let(:path_none) { "/projects/#{project_none.id}/export" }
... ...
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
require 'spec_helper' require 'spec_helper'
describe API::ProjectSnippets do describe API::ProjectSnippets do
set(:project) { create(:project, :public) } let_it_be(:project) { create(:project, :public) }
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:admin) { create(:admin) } let_it_be(:admin) { create(:admin) }
describe "GET /projects/:project_id/snippets/:id/user_agent_detail" do describe "GET /projects/:project_id/snippets/:id/user_agent_detail" do
let(:snippet) { create(:project_snippet, :public, project: project) } let(:snippet) { create(:project_snippet, :public, project: project) }
... ...
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
require 'spec_helper' require 'spec_helper'
describe API::ResourceLabelEvents do describe API::ResourceLabelEvents do
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:project) { create(:project, :public, namespace: user.namespace) } let_it_be(:project, reload: true) { create(:project, :public, namespace: user.namespace) }
set(:label) { create(:label, project: project) } let_it_be(:label) { create(:label, project: project) }
before do before do
project.add_developer(user) project.add_developer(user)
... ...
......
...@@ -557,7 +557,7 @@ describe API::Runners do ...@@ -557,7 +557,7 @@ describe API::Runners do
end end
describe 'GET /runners/:id/jobs' do describe 'GET /runners/:id/jobs' do
set(:job_1) { create(:ci_build) } let_it_be(:job_1) { create(:ci_build) }
let!(:job_2) { create(:ci_build, :running, runner: shared_runner, project: project) } let!(:job_2) { create(:ci_build, :running, runner: shared_runner, project: project) }
let!(:job_3) { create(:ci_build, :failed, runner: shared_runner, project: project) } let!(:job_3) { create(:ci_build, :failed, runner: shared_runner, project: project) }
let!(:job_4) { create(:ci_build, :running, runner: project_runner, project: project) } let!(:job_4) { create(:ci_build, :running, runner: project_runner, project: project) }
... ...
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
require 'spec_helper' require 'spec_helper'
describe API::Search do describe API::Search do
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:group) { create(:group) } let_it_be(:group) { create(:group) }
set(:project) { create(:project, :wiki_repo, :public, name: 'awesome project', group: group) } let_it_be(:project, reload: true) { create(:project, :wiki_repo, :public, name: 'awesome project', group: group) }
set(:repo_project) { create(:project, :public, :repository, group: group) } let_it_be(:repo_project) { create(:project, :public, :repository, group: group) }
shared_examples 'response is correct' do |schema:, size: 1| shared_examples 'response is correct' do |schema:, size: 1|
it { expect(response).to have_gitlab_http_status(200) } it { expect(response).to have_gitlab_http_status(200) }
... ...
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
require "spec_helper" require "spec_helper"
describe API::Services do describe API::Services do
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:user2) { create(:user) } let_it_be(:user2) { create(:user) }
set(:project) do let_it_be(:project, reload: true) do
create(:project, creator_id: user.id, namespace: user.namespace) create(:project, creator_id: user.id, namespace: user.namespace)
end end
... ...
......
...@@ -5,7 +5,7 @@ require 'spec_helper' ...@@ -5,7 +5,7 @@ require 'spec_helper'
describe API::Settings, 'Settings' do describe API::Settings, 'Settings' do
let(:user) { create(:user) } let(:user) { create(:user) }
set(:admin) { create(:admin) } let_it_be(:admin) { create(:admin) }
describe "GET /application/settings" do describe "GET /application/settings" do
it "returns application settings" do it "returns application settings" do
... ...
......
...@@ -89,8 +89,8 @@ describe API::Snippets do ...@@ -89,8 +89,8 @@ describe API::Snippets do
end end
describe 'GET /snippets/:id/raw' do describe 'GET /snippets/:id/raw' do
set(:author) { create(:user) } let_it_be(:author) { create(:user) }
set(:snippet) { create(:personal_snippet, :private, author: author) } let_it_be(:snippet) { create(:personal_snippet, :private, author: author) }
it 'requires authentication' do it 'requires authentication' do
get api("/snippets/#{snippet.id}", nil) get api("/snippets/#{snippet.id}", nil)
...@@ -137,10 +137,10 @@ describe API::Snippets do ...@@ -137,10 +137,10 @@ describe API::Snippets do
end end
describe 'GET /snippets/:id' do describe 'GET /snippets/:id' do
set(:admin) { create(:user, :admin) } let_it_be(:admin) { create(:user, :admin) }
set(:author) { create(:user) } let_it_be(:author) { create(:user) }
set(:private_snippet) { create(:personal_snippet, :private, author: author) } let_it_be(:private_snippet) { create(:personal_snippet, :private, author: author) }
set(:internal_snippet) { create(:personal_snippet, :internal, author: author) } let_it_be(:internal_snippet) { create(:personal_snippet, :internal, author: author) }
it 'requires authentication' do it 'requires authentication' do
get api("/snippets/#{private_snippet.id}", nil) get api("/snippets/#{private_snippet.id}", nil)
... ...
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
require 'spec_helper' require 'spec_helper'
describe 'task completion status response' do describe 'task completion status response' do
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:project) do let_it_be(:project) do
create(:project, :public, creator_id: user.id, namespace: user.namespace) create(:project, :public, creator_id: user.id, namespace: user.namespace)
end end
... ...
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
require 'spec_helper' require 'spec_helper'
describe API::Triggers do describe API::Triggers do
set(:user) { create(:user) } let_it_be(:user) { create(:user) }
set(:user2) { create(:user) } let_it_be(:user2) { create(:user) }
let!(:trigger_token) { 'secure_token' } let!(:trigger_token) { 'secure_token' }
let!(:trigger_token_2) { 'secure_token_2' } let!(:trigger_token_2) { 'secure_token_2' }
... ...
......