summaryrefslogtreecommitdiff
path: root/spec/factories/customer_relations/issue_customer_relations_contacts.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/factories/customer_relations/issue_customer_relations_contacts.rb')
-rw-r--r--spec/factories/customer_relations/issue_customer_relations_contacts.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/factories/customer_relations/issue_customer_relations_contacts.rb b/spec/factories/customer_relations/issue_customer_relations_contacts.rb
new file mode 100644
index 00000000000..6a4fecfb3cf
--- /dev/null
+++ b/spec/factories/customer_relations/issue_customer_relations_contacts.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :issue_customer_relations_contact, class: 'CustomerRelations::IssueContact' do
+ issue { association(:issue, project: project) }
+ contact { association(:contact, group: group) }
+
+ transient do
+ group { association(:group) }
+ project { association(:project, group: group) }
+ end
+
+ trait :for_contact do
+ issue { association(:issue, project: project) }
+ contact { raise ArgumentError, '`contact` is manadatory' }
+
+ transient do
+ project { association(:project, group: contact.group) }
+ end
+ end
+
+ trait :for_issue do
+ issue { raise ArgumentError, '`issue` is manadatory' }
+ contact { association(:contact, group: issue.project.group) }
+ end
+ end
+end