...
1 package sqlmock
2
3 import (
4 "fmt"
5 "testing"
6 )
7
8
9 var mock = &sqlmock{}
10
11 func ExampleNewErrorResult() {
12 db, mock, _ := New()
13 result := NewErrorResult(fmt.Errorf("some error"))
14 mock.ExpectExec("^INSERT (.+)").WillReturnResult(result)
15 res, _ := db.Exec("INSERT something")
16 _, err := res.LastInsertId()
17 fmt.Println(err)
18
19 }
20
21 func ExampleNewResult() {
22 var lastInsertID, affected int64
23 result := NewResult(lastInsertID, affected)
24 mock.ExpectExec("^INSERT (.+)").WillReturnResult(result)
25 fmt.Println(mock.ExpectationsWereMet())
26
27
28
29
30
31
32 }
33
34 func TestShouldReturnValidSqlDriverResult(t *testing.T) {
35 result := NewResult(1, 2)
36 id, err := result.LastInsertId()
37 if 1 != id {
38 t.Errorf("expected last insert id to be 1, but got: %d", id)
39 }
40 if err != nil {
41 t.Errorf("expected no error, but got: %s", err)
42 }
43 affected, err := result.RowsAffected()
44 if 2 != affected {
45 t.Errorf("expected affected rows to be 2, but got: %d", affected)
46 }
47 if err != nil {
48 t.Errorf("expected no error, but got: %s", err)
49 }
50 }
51
52 func TestShouldReturnErrorSqlDriverResult(t *testing.T) {
53 result := NewErrorResult(fmt.Errorf("some error"))
54 _, err := result.LastInsertId()
55 if err == nil {
56 t.Error("expected error, but got none")
57 }
58 _, err = result.RowsAffected()
59 if err == nil {
60 t.Error("expected error, but got none")
61 }
62 }
63
View as plain text