attribute_mapper_spec.rb 984 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. require 'rails_helper'
  2. RSpec.describe Sequencer::Unit::Common::AttributeMapper, sequencer: :unit do
  3. let(:map) do
  4. {
  5. old_key: :new_key,
  6. second: :new_second,
  7. }
  8. end
  9. it 'expects an implementation of the .map method' do
  10. expect do
  11. described_class.map
  12. end.to raise_error(RuntimeError)
  13. end
  14. it 'declares uses from map keys' do
  15. allow(described_class).to receive(:map).and_return(map)
  16. expect(described_class.uses).to eq(map.keys)
  17. end
  18. it 'declares provides from map values' do
  19. allow(described_class).to receive(:map).and_return(map)
  20. expect(described_class.provides).to eq(map.values)
  21. end
  22. it 'maps as configured' do
  23. old = {
  24. old_key: :value,
  25. second: :second_value,
  26. }
  27. allow(described_class).to receive(:map).and_return(map)
  28. result = process(old)
  29. expect(result.keys.size).to eq 2
  30. expect(result[:new_key]).to eq old[:old_key]
  31. expect(result[:new_second]).to eq old[:second]
  32. end
  33. end