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:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-15 21:09:01 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-15 21:09:01 +0300
commit74804f8c31491045b62a4b9fed9f819531462ea2 (patch)
tree87c58fb3a34d871e37ed0320a124c5b64f815334 /spec/serializers
parent10130901f1128c91596c4cbfe14b1e5c9f15032f (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/serializers')
-rw-r--r--spec/serializers/environment_serializer_spec.rb50
1 files changed, 17 insertions, 33 deletions
diff --git a/spec/serializers/environment_serializer_spec.rb b/spec/serializers/environment_serializer_spec.rb
index 1eba9ae4e5e..985e18f27a0 100644
--- a/spec/serializers/environment_serializer_spec.rb
+++ b/spec/serializers/environment_serializer_spec.rb
@@ -3,8 +3,10 @@
require 'spec_helper'
RSpec.describe EnvironmentSerializer do
- let(:user) { create(:user) }
- let(:project) { create(:project) }
+ include CreateEnvironmentsHelpers
+
+ let_it_be(:user) { create(:user) }
+ let_it_be(:project, reload: true) { create(:project, :repository) }
let(:json) do
described_class
@@ -12,43 +14,18 @@ RSpec.describe EnvironmentSerializer do
.represent(resource)
end
- before do
+ before_all do
project.add_developer(user)
end
- context 'when there is a single object provided' do
- let(:project) { create(:project, :repository) }
- let(:deployable) { create(:ci_build) }
- let(:deployment) do
- create(:deployment, :success,
- deployable: deployable,
- user: user,
- project: project,
- sha: project.commit.id)
- end
-
- let(:resource) { deployment.environment }
-
- before do
- create(:ci_build, :manual, name: 'manual1', pipeline: deployable.pipeline)
- end
-
- it 'contains important elements of environment' do
- expect(json)
- .to include(:name, :external_url, :environment_path, :last_deployment)
- end
+ it_behaves_like 'avoid N+1 on environments serialization'
- it 'contains relevant information about last deployment' do
- last_deployment = json.fetch(:last_deployment)
+ context 'when there is a collection of objects provided' do
+ let(:resource) { project.environments }
- expect(last_deployment)
- .to include(:ref, :user, :commit, :deployable, :manual_actions)
+ before_all do
+ create_list(:environment, 2, project: project)
end
- end
-
- context 'when there is a collection of objects provided' do
- let(:project) { create(:project) }
- let(:resource) { create_list(:environment, 2) }
it 'contains important elements of environment' do
expect(json.first)
@@ -207,4 +184,11 @@ RSpec.describe EnvironmentSerializer do
end
end
end
+
+ def create_environment_with_associations(project)
+ create(:environment, project: project).tap do |environment|
+ create(:deployment, :success, environment: environment, project: project)
+ create(:deployment, :running, environment: environment, project: project)
+ end
+ end
end