Module: Julewire::Core::Testing::Contracts::RecordDraft

Defined in:
lib/julewire/core/testing/contracts/record_draft.rb

Instance Method Summary collapse

Instance Method Details

#assert_julewire_record_draft_transform_contract(draft: build_julewire_transform_contract_draft) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/julewire/core/testing/contracts/record_draft.rb', line 8

def assert_julewire_record_draft_transform_contract(draft: build_julewire_transform_contract_draft)
  draft.transform_field!(:message) { |message| "#{message} transformed" }
  draft.transform_section!(:payload) { it.merge(section_transformed: true) }
  draft.transform_record! do |data|
    data.merge(labels: data.fetch(:labels).merge(record_transformed: "yes"))
  end

  record = draft.to_record
  assert_equal "test message transformed", record.fetch(:message)
  assert record.dig(:payload, :section_transformed)
  assert_equal "yes", record.dig(:labels, :record_transformed)
  assert_equal [{ type: "request", id: "root-1" }], record.lineage.ancestors
  draft
end

#build_julewire_transform_contract_draftObject



23
24
25
26
27
28
29
30
31
32
# File 'lib/julewire/core/testing/contracts/record_draft.rb', line 23

def build_julewire_transform_contract_draft
  build_julewire_contract_draft(
    execution: {
      type: "job",
      id: "job-1",
      ancestors: [{ type: "request", id: "root-1" }]
    },
    labels: { service: "contract" }
  )
end