Add more tests for delete #22

Merged
lunny merged 1 commits from lunny/delete_test into master 2018-08-09 14:24:43 +00:00
4 changed files with 27 additions and 8 deletions

View File

@ -5,13 +5,12 @@
package builder
import (
"errors"
"fmt"
)
func (b *Builder) deleteWriteTo(w Writer) error {
if len(b.tableName) <= 0 {
return errors.New("no table indicated")
return ErrNoTableName
}
if _, err := fmt.Fprintf(w, "DELETE FROM %s WHERE ", b.tableName); err != nil {

24
builder_delete_test.go Normal file
View File

@ -0,0 +1,24 @@
// Copyright 2018 The Xorm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package builder
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestBuilderDelete(t *testing.T) {
sql, args, err := Delete(Eq{"a": 1}).From("table1").ToSQL()
assert.NoError(t, err)
assert.EqualValues(t, "DELETE FROM table1 WHERE a=?", sql)
assert.EqualValues(t, []interface{}{1}, args)
}
func TestDeleteNoTable(t *testing.T) {
_, _, err := Delete(Eq{"b": "0"}).ToSQL()
assert.Error(t, err)
assert.EqualValues(t, ErrNoTableName, err)
}

View File

@ -432,12 +432,6 @@ func TestBuilderUpdate(t *testing.T) {
fmt.Println(sql, args)
}
func TestBuilderDelete(t *testing.T) {
sql, args, err := Delete(Eq{"a": 1}).From("table1").ToSQL()
assert.NoError(t, err)
fmt.Println(sql, args)
}
func TestSubquery(t *testing.T) {
subb := Select("id").From("table_b").Where(Eq{"b": "a"})
b := Select("a, b").From("table_a").Where(

View File

@ -15,4 +15,6 @@ var (
ErrNoInConditions = errors.New("No IN conditions")
// ErrNeedMoreArguments need more arguments
ErrNeedMoreArguments = errors.New("Need more sql arguments")
// ErrNoTableName no table name
ErrNoTableName = errors.New("No table indicated")
)