MCPcopy
hub / github.com/ent/ent / TestQueryEdges

Function TestQueryEdges

dialect/sql/sqlgraph/graph_test.go:2526–2561  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2524}
2525
2526func TestQueryEdges(t *testing.T) {
2527 db, mock, err := sqlmock.New()
2528 require.NoError(t, err)
2529 mock.ExpectQuery(escape("SELECT `group_id`, `user_id` FROM `user_groups` WHERE `user_id` IN (?, ?, ?)")).
2530 WithArgs(1, 2, 3).
2531 WillReturnRows(sqlmock.NewRows([]string{"group_id", "user_id"}).
2532 AddRow(4, 5).
2533 AddRow(4, 6))
2534
2535 var (
2536 edges [][]int64
2537 spec = &EdgeQuerySpec{
2538 Edge: &EdgeSpec{
2539 Inverse: true,
2540 Table: "user_groups",
2541 Columns: []string{"user_id", "group_id"},
2542 },
2543 Predicate: func(s *sql.Selector) {
2544 s.Where(sql.InValues("user_id", 1, 2, 3))
2545 },
2546 ScanValues: func() [2]any {
2547 return [2]any{&sql.NullInt64{}, &sql.NullInt64{}}
2548 },
2549 Assign: func(out, in any) error {
2550 o, i := out.(*sql.NullInt64), in.(*sql.NullInt64)
2551 edges = append(edges, []int64{o.Int64, i.Int64})
2552 return nil
2553 },
2554 }
2555 )
2556
2557 // Query and scan.
2558 err = QueryEdges(context.Background(), sql.OpenDB("", db), spec)
2559 require.NoError(t, err)
2560 require.Equal(t, [][]int64{{4, 5}, {4, 6}}, edges)
2561}
2562
2563func TestQueryEdgesSchema(t *testing.T) {
2564 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 6

InValuesFunction · 0.92
OpenDBFunction · 0.92
QueryEdgesFunction · 0.85
NewMethod · 0.80
escapeFunction · 0.70
WhereMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…