spec/models/data_grid_spec.rb in marty-1.0.6 vs spec/models/data_grid_spec.rb in marty-1.0.7

- old
+ new

@@ -160,10 +160,19 @@ 1|2\t90.5\t4.4\t5.5\t6.6 3|4\t100.5\t1.2\t2.3\t3.4 3|4\t105.5\t4.5\t5.6\t6.7 EOS +Gj =<<EOS +lenient +client_id\tinteger\tv +property_state\tstring\tv + +\tCA\t0.25 +700127\tCA\t0.35 +EOS + before(:each) do #Mcfly.whodunnit = Marty::User.find_by_login('marty') marty_whodunnit end @@ -277,11 +286,11 @@ describe "lookups for infinity" do let(:pt) { 'infinity'} before(:each) do ["G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "Ga", "Gb", - "Gc", "Gd", "Ge", "Gf", "Gg", "Gh"].each { |g| + "Gc", "Gd", "Ge", "Gf", "Gg", "Gh", "Gj"].each { |g| dg_from_import(g, "Marty::DataGridSpec::#{g}".constantize) } end context "should handle NULL key values" do @@ -357,9 +366,25 @@ expect(res).to eq(1.1) expect { Marty::DataGrid.lookup_grid(pt, dg, {"ltv"=>500}, true) + }.to raise_error(RuntimeError) + end + + it "should handle non-distinct lookups (2)" do + params = { + "client_id" => 700127, + "property_state" => "CA", + } + dg = Marty::DataGrid.lookup(pt, "Gj") + res = Marty::DataGrid.lookup_grid(pt, dg, params, false) + + # should return the upper left corner match + expect(res).to eq(0.25) + + expect { + Marty::DataGrid.lookup_grid(pt, dg, params, true) }.to raise_error(RuntimeError) end it "should handle boolean lookups" do res = [true, false].map { |hb_indicator|