summaryrefslogtreecommitdiff
path: root/spec/services/bulk_update_integration_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/bulk_update_integration_service_spec.rb')
-rw-r--r--spec/services/bulk_update_integration_service_spec.rb41
1 files changed, 23 insertions, 18 deletions
diff --git a/spec/services/bulk_update_integration_service_spec.rb b/spec/services/bulk_update_integration_service_spec.rb
index c10a9b75648..5e521b98482 100644
--- a/spec/services/bulk_update_integration_service_spec.rb
+++ b/spec/services/bulk_update_integration_service_spec.rb
@@ -16,32 +16,19 @@ RSpec.describe BulkUpdateIntegrationService do
let_it_be(:group) { create(:group) }
let_it_be(:subgroup) { create(:group, parent: group) }
- let_it_be(:group_integration) do
- Integrations::Jira.create!(
- group: group,
- url: 'http://group.jira.com'
- )
- end
-
+ let_it_be(:group_integration) { create(:jira_integration, :group, group: group, url: 'http://group.jira.com') }
+ let_it_be(:excluded_integration) { create(:jira_integration, :group, group: create(:group), url: 'http://another.jira.com', push_events: false) }
let_it_be(:subgroup_integration) do
- Integrations::Jira.create!(
- inherit_from_id: group_integration.id,
+ create(:jira_integration, :group,
group: subgroup,
+ inherit_from_id: group_integration.id,
url: 'http://subgroup.jira.com',
push_events: true
)
end
- let_it_be(:excluded_integration) do
- Integrations::Jira.create!(
- group: create(:group),
- url: 'http://another.jira.com',
- push_events: false
- )
- end
-
let_it_be(:integration) do
- Integrations::Jira.create!(
+ create(:jira_integration,
project: create(:project, group: subgroup),
inherit_from_id: subgroup_integration.id,
url: 'http://project.jira.com',
@@ -88,4 +75,22 @@ RSpec.describe BulkUpdateIntegrationService do
described_class.new(group_integration, [integration]).execute
end.to change { integration.reload.url }.to(group_integration.url)
end
+
+ context 'with different foreign key of data_fields' do
+ let(:integration) { create(:zentao_integration, project: create(:project, group: group)) }
+ let(:group_integration) do
+ create(:zentao_integration, :group,
+ group: group,
+ url: 'https://group.zentao.net',
+ api_token: 'GROUP_TOKEN',
+ zentao_product_xid: '1'
+ )
+ end
+
+ it 'works with batch as an array of ActiveRecord objects' do
+ expect do
+ described_class.new(group_integration, [integration]).execute
+ end.to change { integration.reload.url }.to(group_integration.url)
+ end
+ end
end