summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2018-04-24 11:05:20 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2018-04-24 11:05:20 +0000
commitf5524d554bce7028f410f51b5fef85641a5f0216 (patch)
treea8dd94e02ec482b8acf170f23e69a5e378a6ea6a /spec/models
parent26147b730f0f41650c2b7ff6ab21d645b36273c9 (diff)
parent1b9c1ac3adb3d65e51f38e37c4705d46c5618f88 (diff)
downloadgitlab-ce-f5524d554bce7028f410f51b5fef85641a5f0216.tar.gz
Merge branch '10244-add-project-ci-cd-settings' into 'master'
Introduce new ProjectCiCdSettings model with group_runners_enabled See merge request gitlab-org/gitlab-ce!18144
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/project_ci_cd_setting_spec.rb24
-rw-r--r--spec/models/project_spec.rb9
2 files changed, 33 insertions, 0 deletions
diff --git a/spec/models/project_ci_cd_setting_spec.rb b/spec/models/project_ci_cd_setting_spec.rb
new file mode 100644
index 00000000000..4aa62028169
--- /dev/null
+++ b/spec/models/project_ci_cd_setting_spec.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe ProjectCiCdSetting do
+ describe '.available?' do
+ before do
+ described_class.reset_column_information
+ end
+
+ it 'returns true' do
+ expect(described_class).to be_available
+ end
+
+ it 'memoizes the schema version' do
+ expect(ActiveRecord::Migrator)
+ .to receive(:current_version)
+ .and_call_original
+ .once
+
+ 2.times { described_class.available? }
+ end
+ end
+end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index f00cebba364..648f8a7944d 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -93,6 +93,15 @@ describe Project do
end
end
+ context 'when creating a new project' do
+ it 'automatically creates a CI/CD settings row' do
+ project = create(:project)
+
+ expect(project.ci_cd_settings).to be_an_instance_of(ProjectCiCdSetting)
+ expect(project.ci_cd_settings).to be_persisted
+ end
+ end
+
describe '#members & #requesters' do
let(:project) { create(:project, :public, :access_requestable) }
let(:requester) { create(:user) }