diff options
Diffstat (limited to 'spec/factories/customer_relations/issue_customer_relations_contacts.rb')
-rw-r--r-- | spec/factories/customer_relations/issue_customer_relations_contacts.rb | 27 |
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 |