(t *testing.T)
| 506 | } |
| 507 | |
| 508 | func TestUpsertExampleEdge(t *testing.T) { |
| 509 | require.NoError(t, dropAll()) |
| 510 | require.NoError(t, alterSchema(` |
| 511 | age: int @index(int) . |
| 512 | name: string @index(exact) @lang . |
| 513 | friend: uid @reverse .`)) |
| 514 | |
| 515 | m0 := ` |
| 516 | { |
| 517 | set { |
| 518 | _:user1 <age> "23" . |
| 519 | _:user1 <name@en> "user1" . |
| 520 | _:user2 <age> "34" . |
| 521 | _:user2 <name@en> "user2" . |
| 522 | _:user3 <age> "56" . |
| 523 | _:user3 <name@en> "user3" . |
| 524 | } |
| 525 | }` |
| 526 | _, err := mutationWithTs(mutationInp{body: m0, typ: "application/rdf", commitNow: true}) |
| 527 | require.NoError(t, err) |
| 528 | |
| 529 | m1 := ` |
| 530 | upsert { |
| 531 | query { |
| 532 | user1(func: eq(name@en, "user1")) { |
| 533 | u1 as uid |
| 534 | } |
| 535 | |
| 536 | user2(func: eq(name@en, "user2")) { |
| 537 | u2 as uid |
| 538 | } |
| 539 | } |
| 540 | |
| 541 | mutation { |
| 542 | set { |
| 543 | uid ( u1 ) <friend> uid ( u2 ) . |
| 544 | } |
| 545 | } |
| 546 | }` |
| 547 | mr, err := mutationWithTs(mutationInp{body: m1, typ: "application/rdf", commitNow: true}) |
| 548 | require.NoError(t, err) |
| 549 | result := QueryResult{} |
| 550 | require.NoError(t, json.Unmarshal(mr.data, &result)) |
| 551 | require.Equal(t, 1, len(result.Queries["user1"])) |
| 552 | require.Equal(t, 1, len(result.Queries["user2"])) |
| 553 | |
| 554 | q1 := ` |
| 555 | { |
| 556 | q(func: eq(name@en, "user1")) { |
| 557 | friend { |
| 558 | name@en |
| 559 | } |
| 560 | } |
| 561 | }` |
| 562 | res, _, err := queryWithTs(queryInp{body: q1, typ: "application/dql"}) |
| 563 | require.NoError(t, err) |
| 564 | require.Contains(t, res, "user2") |
| 565 |
nothing calls this directly
no test coverage detected