From 1cd7d15fe1fd4cdd6a18c6fa4486f1f3ba5a0064 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 9 Aug 2018 21:18:24 +0800 Subject: [PATCH] add more tests for delete --- builder_delete.go | 3 +-- builder_delete_test.go | 24 ++++++++++++++++++++++++ builder_test.go | 6 ------ error.go | 2 ++ 4 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 builder_delete_test.go diff --git a/builder_delete.go b/builder_delete.go index 743f1a4..d5f5800 100644 --- a/builder_delete.go +++ b/builder_delete.go @@ -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 { diff --git a/builder_delete_test.go b/builder_delete_test.go new file mode 100644 index 0000000..7b40498 --- /dev/null +++ b/builder_delete_test.go @@ -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) +} diff --git a/builder_test.go b/builder_test.go index 2213d25..8311148 100644 --- a/builder_test.go +++ b/builder_test.go @@ -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( diff --git a/error.go b/error.go index dcd2d96..db0f61d 100644 --- a/error.go +++ b/error.go @@ -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") ) -- 2.40.1