spec/lib/row_processor_spec.rb in cascade-rb-0.2.3 vs spec/lib/row_processor_spec.rb in cascade-rb-0.3.0
- old
+ new
@@ -1,70 +1,70 @@
-require "spec_helper"
-require "cascade/row_processor"
+# frozen_string_literal: true
+require 'spec_helper'
+require 'cascade/row_processor'
+
describe Cascade::RowProcessor do
def described_class
Cascade::RowProcessor
end
- it "allows to set settings" do
- assert_respond_to described_class, :use_default_presenter=
- assert_respond_to described_class, :deafult_presenter=
- end
-
- context "when parsing row" do
- let(:row) { [:a_value, :b_value, :c_value] }
- let(:keys) { [:a, :b, :c] }
+ context 'when parsing row' do
+ let(:row) { %i[a_value b_value c_value] }
+ let(:keys) { %i[a b c] }
let(:columns_matching) { OpenStruct.new(supported_keys: keys) }
before do
- keys.each_with_index do |key, index|
+ keys.each_with_index do |key, index|
stub(columns_matching).index(key) { index }
stub(columns_matching).column_type(key) { :string }
end
end
- it "collect row values with corresponding keys" do
+ it 'collect row values with corresponding keys' do
processed_row = described_class.new(columns_matching:
columns_matching).call(row)
- assert_equal(processed_row, a: "a_value", b: "b_value", c: "c_value")
+ assert_equal(processed_row, a: 'a_value', b: 'b_value', c: 'c_value')
end
end
- context "when presenting row values" do
- let(:row) { ["raw_value"] }
+ context 'when presenting row values' do
+ let(:row) { ['raw_value'] }
let(:columns_matching) { OpenStruct.new(supported_keys: [:a]) }
- let(:value_presenter) { ->(_raw_value) { "parsed_value" } }
+ let(:value_presenter) { ->(_raw_value) { 'parsed_value' } }
before do
stub(columns_matching).index(:a) { 0 }
stub(columns_matching).column_type(:a) { :presenter }
end
- context "when curresponding presenter passed" do
- it "process field with specified presenter" do
- parsed_value = described_class.new(columns_matching: columns_matching,
- presenter: value_presenter).call(row)[:a]
- assert_equal "parsed_value", parsed_value
+ context 'when curresponding presenter passed' do
+ it 'process field with specified presenter' do
+ parsed_value = described_class.new(
+ columns_matching: columns_matching,
+ ext_presenters: { presenter: value_presenter }
+ ).call(row)[:a]
+ assert_equal 'parsed_value', parsed_value
end
end
- context "when curresponding presenter not passed" do
- it "process field with default presenter if use_default_presenter true" do
- described_class.stub(:use_default_presenter, true) do
- described_class.stub(:deafult_presenter, -> { value_presenter }) do
- parsed_value = described_class.new(columns_matching:
- columns_matching).call(row)[:a]
- assert_equal "parsed_value", parsed_value
+ context 'when curresponding presenter not passed' do
+ context 'when use_default_presenter is false' do
+ it 'process field and rise error' do
+ assert_raises(Cascade::UnknownPresenterType) do
+ described_class.new(columns_matching: columns_matching).call(row)
end
end
end
- it "process field and rise error if use_default_presenter false" do
- described_class.stub(:use_default_presenter, false) do
- assert_raises(Cascade::UnknownPresenterType) do
- described_class.new(columns_matching: columns_matching).call(row)
- end
+ context 'when use_default_presenter is true' do
+ it 'process field with default presenter' do
+ parsed_value = described_class.new(
+ columns_matching: columns_matching,
+ use_default_presenter: true,
+ deafult_presenter: value_presenter
+ ).call(row)[:a]
+ assert_equal 'parsed_value', parsed_value
end
end
end
end
end