Sha256: 7f13d196eaf936eb2ba944f1653bc0b79631f85bd0d38feda180926e75c99c79

Contents?: true

Size: 1.12 KB

Versions: 7

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

require 'helper'
require 'peddler/structured_list'

class TestPeddlerStructuredList < MiniTest::Test
  def setup
    @list = Peddler::StructuredList.new('OrderStatus', 'Status')
  end

  def test_builds_a_structured_list_for_a_single_value
    exp = { 'OrderStatus.Status.1' => 'foo' }
    assert_equal exp, @list.build('foo')
  end

  def test_builds_a_structured_list_for_an_array_of_values
    exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
    assert_equal exp, @list.build(%w[foo bar])
  end

  def test_flattens_nested_arrays_of_values
    exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
    assert_equal exp, @list.build([%w[foo bar]])
  end

  def test_handles_single_key
    list = Peddler::StructuredList.new('Foo')
    exp = { 'Foo.1' => 'bar' }

    assert_equal exp, list.build('bar')
  end

  def test_handles_more_than_two_keys
    list = Peddler::StructuredList.new('QueryList', 'Query', '1', 'FilterOptions', 'FilterOption')
    exp = { 'QueryList.Query.1.FilterOptions.FilterOption.1' => 'foo' }

    assert_equal exp, list.build('foo')
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
peddler-2.0.4 test/unit/peddler/test_structured_list.rb
peddler-2.0.3 test/unit/peddler/test_structured_list.rb
peddler-2.0.0 test/unit/peddler/test_structured_list.rb
peddler-1.6.7 test/unit/peddler/test_structured_list.rb
peddler-1.6.6 test/unit/peddler/test_structured_list.rb
peddler-1.6.5 test/unit/peddler/test_structured_list.rb
peddler-1.6.4 test/unit/peddler/test_structured_list.rb