Sha256: 800dd904f12cc48317188182053d5679dd975ff3ebf1cae098ad6ec2ef126d64
Contents?: true
Size: 1.18 KB
Versions: 2
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true require 'spec_helper' describe LB::Persistence::Functions, '.group_prefix' do subject { object.call(data) } let(:object) do described_class.t(:group_prefix, key, keys, prefix, nested_class) .>> described_class.t(:model, model_class) end let(:key) { :items } let(:keys) { [:item_a] } let(:prefix) { 'item_' } let(:model_class) do nested = nested_class Class.new(Dry::Struct) do module Types include Dry::Types.module end attribute :a, Types::Strict::String attribute :items, Types::Strict::Array.member(nested) end end let(:nested_class) do Class.new(Dry::Struct) do module Types include Dry::Types.module end attribute :a, Types::Strict::String end end let(:data) do [ { a: 'a1', item_a: 'item_a1' }, { a: 'a1', item_a: 'item_a2' }, { a: 'a2', item_a: 'item_a3' } ] end let(:expected_hash_values) do [ { a: 'a1', items: [{ a: 'item_a1' }, { a: 'item_a2' }] }, { a: 'a2', items: [{ a: 'item_a3' }] } ] end it 'should group hash' do expect(subject.map(&:to_h)).to eq(expected_hash_values) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lb-persistence-0.0.7 | spec/unit/lb/persistence/functions/class_methods/group_prefix_spec.rb |
lb-persistence-0.0.6 | spec/unit/lb/persistence/functions/class_methods/group_prefix_spec.rb |