diff --git a/internal/analyzer/operations/operations_list.go b/internal/analyzer/operations/operations_list.go index 5b38611..62f007a 100644 --- a/internal/analyzer/operations/operations_list.go +++ b/internal/analyzer/operations/operations_list.go @@ -103,31 +103,31 @@ var operationsList = map[string]Operation{ "eqfield": { CountValues: common.OneValue, IsFieldOperation: true, - ValidTypes: []string{"", "", ""}, + ValidTypes: []string{"", "", "", ""}, }, "neqfield": { CountValues: common.OneValue, IsFieldOperation: true, - ValidTypes: []string{"", "", ""}, + ValidTypes: []string{"", "", "", ""}, }, "gtefield": { CountValues: common.OneValue, IsFieldOperation: true, - ValidTypes: []string{""}, + ValidTypes: []string{"", ""}, }, "gtfield": { CountValues: common.OneValue, IsFieldOperation: true, - ValidTypes: []string{""}, + ValidTypes: []string{"", ""}, }, "ltefield": { CountValues: common.OneValue, IsFieldOperation: true, - ValidTypes: []string{""}, + ValidTypes: []string{"", ""}, }, "ltfield": { CountValues: common.OneValue, IsFieldOperation: true, - ValidTypes: []string{""}, + ValidTypes: []string{"", ""}, }, } diff --git a/internal/analyzer/operations/operations_test.go b/internal/analyzer/operations/operations_test.go index 7153478..1957b59 100644 --- a/internal/analyzer/operations/operations_test.go +++ b/internal/analyzer/operations/operations_test.go @@ -229,6 +229,66 @@ func TestOperationsIsValidByType(t *testing.T) { valid: true, }, + // eqfield operations + { + op: "eqfield", + fieldTypes: []string{ + "", "", "", "", + "*", "*", "*", "*", + }, + valid: true, + }, + + // neqfield operations + { + op: "neqfield", + fieldTypes: []string{ + "", "", "", "", + "*", "*", "*", "*", + }, + valid: true, + }, + + // gtefield operations + { + op: "gtefield", + fieldTypes: []string{ + "", "", + "*", "*", + }, + valid: true, + }, + + // gtfield operations + { + op: "gtfield", + fieldTypes: []string{ + "", "", + "*", "*", + }, + valid: true, + }, + + // ltefield operations + { + op: "ltefield", + fieldTypes: []string{ + "", "", + "*", "*", + }, + valid: true, + }, + + // ltfield operations + { + op: "ltfield", + fieldTypes: []string{ + "", "", + "*", "*", + }, + valid: true, + }, + // invalid cases { op: "email", @@ -259,6 +319,74 @@ func TestOperationsIsValidByType(t *testing.T) { fieldTypes: []string{"", "", "", "[]", "map[]", "", "*"}, valid: false, }, + { + op: "eqfield", + fieldTypes: []string{ + "[]", "[]", "[]", "[]", + "map[]", "map[]", "map[]", "map[]", + "*[]", "*[]", "*[]", "*[]", + "*map[]", "*map[]", "*map[]", "*map[]", + }, + valid: false, + }, + { + op: "neqfield", + fieldTypes: []string{ + "[]", "[]", "[]", "[]", + "map[]", "map[]", "map[]", "map[]", + "*[]", "*[]", "*[]", "*[]", + "*map[]", "*map[]", "*map[]", "*map[]", + }, + valid: false, + }, + { + op: "gtefield", + fieldTypes: []string{ + "", "", + "[]", "[]", "[]", "[]", + "map[]", "map[]", "map[]", "map[]", + "*", "*", + "*[]", "*[]", "*[]", "*[]", + "*map[]", "*map[]", "*map[]", "*map[]", + }, + valid: false, + }, + { + op: "gtfield", + fieldTypes: []string{ + "", "", + "[]", "[]", "[]", "[]", + "map[]", "map[]", "map[]", "map[]", + "*", "*", + "*[]", "*[]", "*[]", "*[]", + "*map[]", "*map[]", "*map[]", "*map[]", + }, + valid: false, + }, + { + op: "ltefield", + fieldTypes: []string{ + "", "", + "[]", "[]", "[]", "[]", + "map[]", "map[]", "map[]", "map[]", + "*", "*", + "*[]", "*[]", "*[]", "*[]", + "*map[]", "*map[]", "*map[]", "*map[]", + }, + valid: false, + }, + { + op: "ltfield", + fieldTypes: []string{ + "", "", + "[]", "[]", "[]", "[]", + "map[]", "map[]", "map[]", "map[]", + "*", "*", + "*[]", "*[]", "*[]", "*[]", + "*map[]", "*map[]", "*map[]", "*map[]", + }, + valid: false, + }, } ops := New()