diff options
Diffstat (limited to 'spec/services/git_push_service_spec.rb')
-rw-r--r-- | spec/services/git_push_service_spec.rb | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb index 1047e32960e..b40a5c1c818 100644 --- a/spec/services/git_push_service_spec.rb +++ b/spec/services/git_push_service_spec.rb @@ -164,21 +164,37 @@ describe GitPushService, services: true do end context "after push" do - before do - @service = execute_service(project, user, @oldrev, @newrev, ref) + def execute + execute_service(project, user, @oldrev, @newrev, ref) end context "to master" do let(:ref) { @ref } - it { expect(@service.update_main_language).to eq(true) } - it { expect(project.main_language).to eq("Ruby") } + context 'when main_language is nil' do + it 'obtains the language from the repository' do + expect(project.repository).to receive(:main_language) + execute + end + + it 'sets the project main language' do + execute + expect(project.main_language).to eq("Ruby") + end + end + + context 'when main_language is already set' do + it 'does not check the repository' do + execute # do an initial run to simulate lang being preset + expect(project.repository).not_to receive(:main_language) + execute + end + end end context "to other branch" do let(:ref) { 'refs/heads/feature/branch' } - it { expect(@service.update_main_language).to eq(nil) } it { expect(project.main_language).to eq(nil) } end end |