Skip to content

Commit

Permalink
hotfix for previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
NoBypass committed May 18, 2024
1 parent 019366f commit 9f5ac8a
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 3 deletions.
4 changes: 1 addition & 3 deletions parse_params.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ func parseParams(args []any) (map[string]any, error) {
m[k] = v
}
}
currIdx++
}

return m, nil
Expand All @@ -59,13 +58,12 @@ func parseParam(arg any, idx *int) (map[string]any, error) {
v := reflect.ValueOf(arg)
switch v.Kind() {
case reflect.Map:
*idx--
return arg.(map[string]any), nil
case reflect.Struct:
*idx--
return structToMap(arg), nil
default:
m[fmt.Sprintf("%d", *idx+1)] = v.Interface()
*idx++
return m, nil
}
}
Expand Down
25 changes: 25 additions & 0 deletions parse_params_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,4 +220,29 @@ func Test_parseQuery(t *testing.T) {
assert.NoError(t, err)
m.AssertCalled(t, "Query", "SELECT * FROM test:[1, '2']..[3, '4'];", map[string]any{})
})
t.Run("Query with an id and slice parameter", func(t *testing.T) {
m := new(MockQueryAgent)
db := &DB{m}
query := "SELECT * FROM test:$ WHERE id = $1"

m.On("Query", mock.Anything, mock.Anything).Return(emptyResponse, nil)
_, err := db.Exec(query, ID{"1"}, 1)

assert.NoError(t, err)
m.AssertCalled(t, "Query", "SELECT * FROM test:`1` WHERE id = $1;", map[string]any{"1": 1})
})
t.Run("Query with an id, map and slice parameter", func(t *testing.T) {
m := new(MockQueryAgent)
db := &DB{m}
query := "SELECT * FROM test:$ WHERE name = $name AND id = $1"

m.On("Query", mock.Anything, mock.Anything).Return(emptyResponse, nil)
_, err := db.Exec(query, ID{"1"}, map[string]any{"name": "test"}, 1)

assert.NoError(t, err)
m.AssertCalled(t, "Query", "SELECT * FROM test:`1` WHERE name = $name AND id = $1;", map[string]any{
"name": "test",
"1": 1,
})
})
}

0 comments on commit 9f5ac8a

Please sign in to comment.