diff options
author | James Lopez <james@jameslopez.es> | 2016-10-04 10:01:32 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-10-04 10:01:32 +0200 |
commit | 912d7f7b68d5c75d801299a8c9363a257030e142 (patch) | |
tree | 66c4890eba2a5a8c0e65b43c11885552f068693e | |
parent | 4be63f5b5bd9c0859f5ba2b91ecdbdcc57b69b98 (diff) | |
download | gitlab-ce-912d7f7b68d5c75d801299a8c9363a257030e142.tar.gz |
Fix issues importing services via Import/Export
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/models/service.rb | 1 | ||||
-rw-r--r-- | spec/models/service_spec.rb | 17 |
3 files changed, 19 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG index 806196d811d..309197c52be 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -45,6 +45,7 @@ v 8.13.0 (unreleased) - Changed Slack service user referencing from full name to username (Sebastian Poxhofer) v 8.12.4 (unreleased) + - Fix issues importing services via Import/Export - Fix "Copy to clipboard" tooltip to say "Copied!" when clipboard button is clicked. (lukehowell) v 8.12.3 diff --git a/app/models/service.rb b/app/models/service.rb index 80de7175565..66c804f2b06 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -136,6 +136,7 @@ class Service < ActiveRecord::Base end def #{arg}=(value) + self.properties ||= {} updated_properties['#{arg}'] = #{arg} unless #{arg}_changed? self.properties['#{arg}'] = value end diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb index 05056a4bb47..ed1bc9271ae 100644 --- a/spec/models/service_spec.rb +++ b/spec/models/service_spec.rb @@ -203,6 +203,23 @@ describe Service, models: true do end end + describe 'initialize service with no properties' do + let(:service) do + GitlabIssueTrackerService.create( + project: create(:project), + title: 'random title' + ) + end + + it 'does not raise error' do + expect { service }.not_to raise_error + end + + it 'creates the properties' do + expect(service.properties).to eq({ "title" => "random title" }) + end + end + describe "callbacks" do let(:project) { create(:project) } let!(:service) do |