go-sqlmock icon indicating copy to clipboard operation
go-sqlmock copied to clipboard

WithArgs doesn't work properly

Open glenshappy opened this issue 4 years ago • 1 comments
trafficstars

Hi, guys, i wrote one pice of code as below, but i couldn't use WithArgs like this: mock.ExpectQuery(query2).WithArgs(122).WillReturnRows(rs2),so i have to use it like this:

query2:= "SELECT (.+) as count FROM payment p, purchase_order po WHERE p.order_id = po.id AND p.order_id = "+strconv.Itoa(orderId)+" ORDER BY p.payment_date DESC "

Is there anything wrong with this code?Thx

`

func TestOrderList(t *testing.T) { t.Parallel() orderModel := CreateOrderFactory(t) defer db.Close()

var orderId = 122

rs1 := sqlmock.NewRows([]string{"id", "order_id","user_id"}).AddRow(12, orderId,133)
rs2 := sqlmock.NewRows([]string{"count"}).AddRow(1223)

query1 := "SELECT p.*, po.user_id FROM payment p, purchase_order po"

query2:= "SELECT (.+) as count FROM payment p, purchase_order po WHERE p.order_id = po.id AND p.order_id = "+strconv.Itoa(orderId)+" ORDER BY p.payment_date DESC "

mock.ExpectQuery(query1).WillReturnRows(rs1)

mock.ExpectQuery(query2).WillReturnRows(rs2)


count, l := orderModel.List(orderId, 1, -1, 12,11, "[email protected]", "d","d")


if err := mock.ExpectationsWereMet(); err != nil {
	t.Fatalf("there were unfulfilled expectations: %s", err)
}

}

`

glenshappy avatar Oct 28 '21 09:10 glenshappy

Please post some example code working on the Go Playground. Here is a template.

dolmen avatar Apr 22 '22 22:04 dolmen