From a34a90238ceb051f87219e394c9eb29a7e16fe0b Mon Sep 17 00:00:00 2001 From: Anna Rose Wiggins Date: Wed, 16 Jul 2025 21:00:23 -0400 Subject: [PATCH] Add tests for mode check. --- .../mappingrules/mapping_rule_base_test.go | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 internal/mappingrules/mapping_rule_base_test.go diff --git a/internal/mappingrules/mapping_rule_base_test.go b/internal/mappingrules/mapping_rule_base_test.go new file mode 100644 index 0000000..04de075 --- /dev/null +++ b/internal/mappingrules/mapping_rule_base_test.go @@ -0,0 +1,53 @@ +package mappingrules + +import ( + "testing" + + "github.com/stretchr/testify/suite" +) + +type MappingRuleBaseTests struct { + suite.Suite +} + +func TestRunnerMappingRuleBaseTests(t *testing.T) { + suite.Run(t, new(MappingRuleBaseTests)) +} + +func (t *MappingRuleBaseTests) TestNewMappingRuleBase() { + t.Run("No Modes", func() { + base := NewMappingRuleBase("foo", []string{}) + t.Equal("foo", base.Name) + t.EqualValues([]string{"*"}, base.Modes) + }) + + t.Run("Has Modes", func() { + base := NewMappingRuleBase("foo", []string{"bar", "baz"}) + t.Equal("foo", base.Name) + t.Contains(base.Modes, "bar") + t.Contains(base.Modes, "baz") + t.NotContains(base.Modes, "*") + }) +} + +func (t *MappingRuleBaseTests) TestModeCheck() { + t.Run("* works on all modes", func() { + base := NewMappingRuleBase("", []string{}) + mode := "bar" + t.True(base.modeCheck(&mode)) + mode = "baz" + t.True(base.modeCheck(&mode)) + }) + + t.Run("single mode only works in that mode", func() { + base := NewMappingRuleBase("", []string{"bar"}) + mode := "bar" + t.True(base.modeCheck(&mode)) + mode = "baz" + t.False(base.modeCheck(&mode)) + }) + + t.Run("multiple modes work in each mode", func() { + + }) +}