summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2018-02-06 17:03:17 -0200
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2018-02-06 17:03:17 -0200
commit6661ee027ef1dc4625d3233939687681780c2134 (patch)
tree6e74e35aa47fe6662e63ad105a48497de1a7f435
parent390f6e2d96eaa7083c448005f756c5d11f56510f (diff)
downloadgitlab-ce-da-repository-checksum.tar.gz
Add ProjectState modelda-repository-checksum
-rw-r--r--app/models/project.rb1
-rw-r--r--app/models/project_state.rb5
-rw-r--r--spec/models/project_spec.rb1
-rw-r--r--spec/models/project_state_spec.rb11
4 files changed, 18 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 33085151217..4550285359e 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -188,6 +188,7 @@ class Project < ActiveRecord::Base
has_one :import_data, class_name: 'ProjectImportData', inverse_of: :project, autosave: true
has_one :project_feature, inverse_of: :project
has_one :statistics, class_name: 'ProjectStatistics'
+ has_one :state, class_name: 'ProjectState'
has_one :cluster_project, class_name: 'Clusters::Project'
has_many :clusters, through: :cluster_project, class_name: 'Clusters::Cluster'
diff --git a/app/models/project_state.rb b/app/models/project_state.rb
new file mode 100644
index 00000000000..7d6b8c174f7
--- /dev/null
+++ b/app/models/project_state.rb
@@ -0,0 +1,5 @@
+class ProjectState < ActiveRecord::Base
+ belongs_to :project
+
+ validates :project, presence: true
+end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index da940571bc1..880c2079414 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -51,6 +51,7 @@ describe Project do
it { is_expected.to have_one(:external_wiki_service) }
it { is_expected.to have_one(:project_feature) }
it { is_expected.to have_one(:statistics).class_name('ProjectStatistics') }
+ it { is_expected.to have_one(:state).class_name('ProjectState') }
it { is_expected.to have_one(:import_data).class_name('ProjectImportData') }
it { is_expected.to have_one(:last_event).class_name('Event') }
it { is_expected.to have_one(:forked_from_project).through(:forked_project_link) }
diff --git a/spec/models/project_state_spec.rb b/spec/models/project_state_spec.rb
new file mode 100644
index 00000000000..845e4813215
--- /dev/null
+++ b/spec/models/project_state_spec.rb
@@ -0,0 +1,11 @@
+require 'rails_helper'
+
+describe ProjectState do
+ describe 'assocations' do
+ it { is_expected.to belong_to(:project) }
+ end
+
+ describe 'validations' do
+ it { is_expected.to validate_presence_of(:project) }
+ end
+end