mirror of
https://github.com/ent/ent.git
synced 2026-04-28 21:50:56 +03:00
dialect/sql/sqlgraph: allow setting stmt modifiers for create-one
This commit is contained in:
committed by
Ariel Mashraki
parent
19b418d1a0
commit
b9fcbff724
@@ -858,6 +858,29 @@ func TestCreateNode(t *testing.T) {
|
||||
m.ExpectCommit()
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "modifiers",
|
||||
spec: &CreateSpec{
|
||||
Table: "users",
|
||||
ID: &FieldSpec{Column: "id"},
|
||||
Fields: []*FieldSpec{
|
||||
{Column: "age", Type: field.TypeInt, Value: 30},
|
||||
{Column: "name", Type: field.TypeString, Value: "a8m"},
|
||||
},
|
||||
Modifiers: []func(i *sql.InsertBuilder){
|
||||
func(i *sql.InsertBuilder) {
|
||||
i.OnConflict(sql.ResolveWithNewValues())
|
||||
},
|
||||
},
|
||||
},
|
||||
expect: func(m sqlmock.Sqlmock) {
|
||||
m.ExpectBegin()
|
||||
m.ExpectExec(escape("INSERT INTO `users` (`age`, `name`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `age` = VALUES(`age`), `name` = VALUES(`name`)")).
|
||||
WithArgs(30, "a8m").
|
||||
WillReturnResult(sqlmock.NewResult(1, 1))
|
||||
m.ExpectCommit()
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "fields/user-defined-id",
|
||||
spec: &CreateSpec{
|
||||
@@ -1148,7 +1171,7 @@ func TestCreateNode(t *testing.T) {
|
||||
db, mock, err := sqlmock.New()
|
||||
require.NoError(t, err)
|
||||
tt.expect(mock)
|
||||
err = CreateNode(context.Background(), sql.OpenDB("", db), tt.spec)
|
||||
err = CreateNode(context.Background(), sql.OpenDB(dialect.MySQL, db), tt.spec)
|
||||
require.Equal(t, tt.wantErr, err != nil, err)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user