diff options
author | Felipe Artur <felipefac@gmail.com> | 2019-02-14 14:24:23 -0200 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2019-02-14 14:24:23 -0200 |
commit | d4a5d8d07069acb6f068990633baaf56d20bc18b (patch) | |
tree | 1003bf9a5c6f8f5c0feb3c4ab6c5eb57be584c15 /spec | |
parent | 37741c59a4daf1b0d6d9f7a6a51337e9d8effb66 (diff) | |
download | gitlab-ce-d4a5d8d07069acb6f068990633baaf56d20bc18b.tar.gz |
Add specs for issuable states sync
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/concerns/issuable_states_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/models/concerns/issuable_states_spec.rb b/spec/models/concerns/issuable_states_spec.rb new file mode 100644 index 00000000000..70450159cc0 --- /dev/null +++ b/spec/models/concerns/issuable_states_spec.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require 'spec_helper' + +# This spec checks if state_id column of issues and merge requests +# are being synced on every save. +# It can be removed in the next release. Check https://gitlab.com/gitlab-org/gitlab-ce/issues/51789 for more information. +describe IssuableStates do + [Issue, MergeRequest].each do |klass| + it "syncs state_id column when #{klass.model_name.human} gets created" do + klass.available_states.each do |state, state_id| + issuable = build(klass.model_name.param_key, state: state.to_s) + + issuable.save! + + expect(issuable.state_id).to eq(state_id) + end + end + + it "syncs state_id column when #{klass.model_name.human} gets updated" do + klass.available_states.each do |state, state_id| + issuable = create(klass.model_name.param_key, state: state.to_s) + + issuable.update(state: state) + + expect(issuable.state_id).to eq(state_id) + end + end + end +end |