From a34f7524b45ac609e135d131cb4eac929f722d32 Mon Sep 17 00:00:00 2001 From: Andy Marks Date: Thu, 4 Dec 2014 21:05:08 +1100 Subject: [PATCH] Extra happy tests for merge_workspace --- test/browser_config_test.rb | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/test/browser_config_test.rb b/test/browser_config_test.rb index 34c14c1..c69b38f 100644 --- a/test/browser_config_test.rb +++ b/test/browser_config_test.rb @@ -80,8 +80,8 @@ describe "Riemann::Dash::BrowserConfig" do describe :merge_workspace do before do - @first_ws = {"view" => {"version" => 2}} - @second_ws = {"view" => {"version" => 3}} + @first_ws = {"view" => {"version" => 2}, "name" => "first"} + @second_ws = {"view" => {"version" => 3}, "name" => "second"} end it "prioritises the workspace with the higher version" do @@ -92,6 +92,28 @@ describe "Riemann::Dash::BrowserConfig" do assert_equal @second_ws, merged_workspace end + it "prioritises any workspace over a nil workspace" do + merged_workspace = Riemann::Dash::BrowserConfig.merge_workspace(@first_ws, nil) + assert_equal @first_ws, merged_workspace + + merged_workspace = Riemann::Dash::BrowserConfig.merge_workspace(nil, @first_ws) + assert_equal @first_ws, merged_workspace + end + + it "prioritises any workspace with a version over a workspace without a version" do + merged_workspace = Riemann::Dash::BrowserConfig.merge_workspace(@first_ws, {"view" => {}}) + assert_equal @first_ws, merged_workspace + + merged_workspace = Riemann::Dash::BrowserConfig.merge_workspace({"view" => {}}, @first_ws) + assert_equal @first_ws, merged_workspace + end + + it "prioritises the first workspace if both versions are equal" do + @second_ws['view']['version'] = @first_ws['view']['version'] + merged_workspace = Riemann::Dash::BrowserConfig.merge_workspace(@first_ws, @second_ws) + assert_equal @first_ws, merged_workspace + + end end