From c284d0cc8ff32ef9fd9204d10c466152e97e75a3 Mon Sep 17 00:00:00 2001 From: Peter Leitzen Date: Mon, 24 Aug 2020 15:53:28 +0200 Subject: [PATCH 1/2] Use parent strategy for associations in factories See https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#build-strategies-1 --- spec/support/factory_bot.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/spec/support/factory_bot.rb b/spec/support/factory_bot.rb index a86161bfded471..c9d372993b57ea 100644 --- a/spec/support/factory_bot.rb +++ b/spec/support/factory_bot.rb @@ -3,7 +3,3 @@ FactoryBot::SyntaxRunner.class_eval do include RSpec::Mocks::ExampleMethods end - -# Use FactoryBot 4.x behavior: -# https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#associations -FactoryBot.use_parent_strategy = false -- GitLab From ac5682c029437f44b4b3d090427838e12809ed06 Mon Sep 17 00:00:00 2001 From: Heinrich Lee Yu Date: Wed, 30 Sep 2020 18:25:47 +0800 Subject: [PATCH 2/2] Fix new specs failing after changing FactoryBot These specs require some associations to be persisted --- ee/spec/replicators/geo/snippet_repository_replicator_spec.rb | 2 +- ee/spec/services/ee/git/wiki_push_service_spec.rb | 3 ++- ee/spec/workers/post_receive_spec.rb | 3 ++- spec/finders/ci/pipelines_for_merge_request_finder_spec.rb | 2 +- spec/serializers/ci/trigger_serializer_spec.rb | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ee/spec/replicators/geo/snippet_repository_replicator_spec.rb b/ee/spec/replicators/geo/snippet_repository_replicator_spec.rb index a3b75d2763c514..abf052f9a2f005 100644 --- a/ee/spec/replicators/geo/snippet_repository_replicator_spec.rb +++ b/ee/spec/replicators/geo/snippet_repository_replicator_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Geo::SnippetRepositoryReplicator do - let(:model_record) { build(:snippet_repository) } + let(:model_record) { build(:snippet_repository, snippet: create(:snippet)) } include_examples 'a repository replicator' end diff --git a/ee/spec/services/ee/git/wiki_push_service_spec.rb b/ee/spec/services/ee/git/wiki_push_service_spec.rb index 33016a950c80f6..eef80b910a9b03 100644 --- a/ee/spec/services/ee/git/wiki_push_service_spec.rb +++ b/ee/spec/services/ee/git/wiki_push_service_spec.rb @@ -48,7 +48,8 @@ end context 'with a group wiki' do - let_it_be(:wiki) { build(:group_wiki) } + let_it_be(:group) { create(:group) } + let_it_be(:wiki) { build(:group_wiki, group: group) } it 'does not trigger a wiki update' do expect(wiki).not_to receive(:index_wiki_blobs) diff --git a/ee/spec/workers/post_receive_spec.rb b/ee/spec/workers/post_receive_spec.rb index 8912aceda1ebd1..3acc1fa8252425 100644 --- a/ee/spec/workers/post_receive_spec.rb +++ b/ee/spec/workers/post_receive_spec.rb @@ -137,7 +137,8 @@ end context 'with a group wiki' do - let(:wiki) { build(:group_wiki) } + let_it_be(:group) { create(:group) } + let(:wiki) { build(:group_wiki, group: group) } it 'calls Git::WikiPushService#execute' do expect_next_instance_of(::Git::WikiPushService) do |service| diff --git a/spec/finders/ci/pipelines_for_merge_request_finder_spec.rb b/spec/finders/ci/pipelines_for_merge_request_finder_spec.rb index 196fde5efe058a..65f6dc0ba74023 100644 --- a/spec/finders/ci/pipelines_for_merge_request_finder_spec.rb +++ b/spec/finders/ci/pipelines_for_merge_request_finder_spec.rb @@ -122,7 +122,7 @@ end context 'with unsaved merge request' do - let(:merge_request) { build(:merge_request) } + let(:merge_request) { build(:merge_request, source_project: create(:project, :repository)) } let!(:pipeline) do create(:ci_empty_pipeline, project: project, diff --git a/spec/serializers/ci/trigger_serializer_spec.rb b/spec/serializers/ci/trigger_serializer_spec.rb index 09a877abfa042f..a669a8c3ed0220 100644 --- a/spec/serializers/ci/trigger_serializer_spec.rb +++ b/spec/serializers/ci/trigger_serializer_spec.rb @@ -6,7 +6,7 @@ describe '#represent' do let(:represent) { described_class.new.represent(trigger) } - let(:trigger) { build(:ci_trigger) } + let(:trigger) { build_stubbed(:ci_trigger) } it 'matches schema' do expect(represent.to_json).to match_schema('entities/trigger') -- GitLab