(t *testing.T)
| 1095 | } |
| 1096 | |
| 1097 | func TestCreateNode(t *testing.T) { |
| 1098 | tests := []struct { |
| 1099 | name string |
| 1100 | spec *CreateSpec |
| 1101 | expect func(sqlmock.Sqlmock) |
| 1102 | wantErr bool |
| 1103 | }{ |
| 1104 | { |
| 1105 | name: "fields", |
| 1106 | spec: &CreateSpec{ |
| 1107 | Table: "users", |
| 1108 | ID: &FieldSpec{Column: "id", Type: field.TypeInt}, |
| 1109 | Fields: []*FieldSpec{ |
| 1110 | {Column: "age", Type: field.TypeInt, Value: 30}, |
| 1111 | {Column: "name", Type: field.TypeString, Value: "a8m"}, |
| 1112 | }, |
| 1113 | }, |
| 1114 | expect: func(m sqlmock.Sqlmock) { |
| 1115 | m.ExpectExec(escape("INSERT INTO `users` (`age`, `name`) VALUES (?, ?)")). |
| 1116 | WithArgs(30, "a8m"). |
| 1117 | WillReturnResult(sqlmock.NewResult(1, 1)) |
| 1118 | }, |
| 1119 | }, |
| 1120 | { |
| 1121 | name: "modifiers", |
| 1122 | spec: &CreateSpec{ |
| 1123 | Table: "users", |
| 1124 | ID: &FieldSpec{Column: "id", Type: field.TypeInt}, |
| 1125 | Fields: []*FieldSpec{ |
| 1126 | {Column: "age", Type: field.TypeInt, Value: 30}, |
| 1127 | {Column: "name", Type: field.TypeString, Value: "a8m"}, |
| 1128 | }, |
| 1129 | OnConflict: []sql.ConflictOption{ |
| 1130 | sql.ResolveWithNewValues(), |
| 1131 | }, |
| 1132 | }, |
| 1133 | expect: func(m sqlmock.Sqlmock) { |
| 1134 | m.ExpectExec(escape("INSERT INTO `users` (`age`, `name`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `age` = VALUES(`age`), `name` = VALUES(`name`), `id` = LAST_INSERT_ID(`users`.`id`)")). |
| 1135 | WithArgs(30, "a8m"). |
| 1136 | WillReturnResult(sqlmock.NewResult(1, 1)) |
| 1137 | }, |
| 1138 | }, |
| 1139 | { |
| 1140 | name: "fields/user-defined-id", |
| 1141 | spec: &CreateSpec{ |
| 1142 | Table: "users", |
| 1143 | ID: &FieldSpec{Column: "id", Value: 1}, |
| 1144 | Fields: []*FieldSpec{ |
| 1145 | {Column: "age", Type: field.TypeInt, Value: 30}, |
| 1146 | {Column: "name", Type: field.TypeString, Value: "a8m"}, |
| 1147 | }, |
| 1148 | }, |
| 1149 | expect: func(m sqlmock.Sqlmock) { |
| 1150 | m.ExpectExec(escape("INSERT INTO `users` (`age`, `name`, `id`) VALUES (?, ?, ?)")). |
| 1151 | WithArgs(30, "a8m", 1). |
| 1152 | WillReturnResult(sqlmock.NewResult(1, 1)) |
| 1153 | }, |
| 1154 | }, |
nothing calls this directly
no test coverage detected
searching dependent graphs…