Skip to content

Commit

Permalink
gql/parser_mutation_test.go: update tests for subject vars and add ob…
Browse files Browse the repository at this point in the history
…ject vars
  • Loading branch information
srfrog authored and mangalaman93 committed May 14, 2019
1 parent 084957a commit 4d77d80
Showing 1 changed file with 74 additions and 4 deletions.
78 changes: 74 additions & 4 deletions gql/parser_mutation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,14 +174,14 @@ func TestParseMutationTxn1(t *testing.T) {
require.NoError(t, err)
require.EqualValues(t,
&api.NQuad{
VarName: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "v"}},
SubjectVar: "v",
Predicate: "name",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "Some One"}},
},
sets[0])
require.EqualValues(t,
&api.NQuad{
VarName: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "v"}},
SubjectVar: "v",
Predicate: "email",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "[email protected]"}},
},
Expand All @@ -205,20 +205,90 @@ func TestParseMutationTxn2(t *testing.T) {
require.NoError(t, err)
require.EqualValues(t,
&api.NQuad{
VarName: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "v"}},
SubjectVar: "v",
Predicate: "name",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "Some One"}},
},
sets[0])
require.EqualValues(t,
&api.NQuad{
VarName: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "v"}},
SubjectVar: "v",
Predicate: "email",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "[email protected]"}},
},
sets[1])
}

func TestParseMutationTxn3(t *testing.T) {
m := `
txn {
mutation {
set {
<0x1> <name> "Some One" .
<0x1> <email> "[email protected]" .
<0x1> <friend> uid(v) .
}
}
}`
mu, err := ParseMutation(m)
require.NoError(t, err)
require.NotNil(t, mu)
sets, err := parseNquads(mu.SetNquads)
require.NoError(t, err)
require.EqualValues(t,
&api.NQuad{
Subject: "0x1",
Predicate: "name",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "Some One"}},
},
sets[0])
require.EqualValues(t,
&api.NQuad{
Subject: "0x1",
Predicate: "email",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "[email protected]"}},
},
sets[1])
require.EqualValues(t,
&api.NQuad{
Subject: "0x1",
Predicate: "friend",
ObjectVar: "v",
},
sets[2])
}

func TestParseMutationTxn4(t *testing.T) {
m := `
txn {
mutation {
set {
uid(v) <name> "Some One" .
uid(v) <friend> uid(w) .
}
}
}`
mu, err := ParseMutation(m)
require.NoError(t, err)
require.NotNil(t, mu)
sets, err := parseNquads(mu.SetNquads)
require.NoError(t, err)
require.EqualValues(t,
&api.NQuad{
SubjectVar: "v",
Predicate: "name",
ObjectValue: &api.Value{Val: &api.Value_DefaultVal{DefaultVal: "Some One"}},
},
sets[0])
require.EqualValues(t,
&api.NQuad{
SubjectVar: "v",
Predicate: "friend",
ObjectVar: "w",
},
sets[1])
}

func TestParseMutationErr1(t *testing.T) {
m := `
txn {
Expand Down

0 comments on commit 4d77d80

Please sign in to comment.