Sha256: 0740b02df1eb4bff94fb39418a93017d4dfdb92ac92455a7c3576d5549984036
Contents?: true
Size: 952 Bytes
Versions: 16
Compression:
Stored size: 952 Bytes
Contents
module LettersSpecHelper def build_letter(state: :draft, to:, patient:, **args) trait = "#{state}_letter".to_sym letter = build(trait, **args) letter.patient = patient letter.patient.primary_care_physician ||= build(:letter_primary_care_physician) attributes = build_main_recipient_attributes(to) letter.main_recipient = build(:letter_recipient, :main, attributes) letter end def create_letter(**args) letter = build_letter(args) letter.save! letter end def build_main_recipient_attributes(to) case to when :patient { person_role: "patient" } when :primary_care_physician { person_role: "primary_care_physician" } else address_attributes = attributes_for(:address) { person_role: "contact", address_attributes: address_attributes, addressee: build(:directory_person, address_attributes: address_attributes) } end end end
Version data entries
16 entries across 16 versions & 1 rubygems