diff --git a/expecter.go b/expecter.go index a6bb3578..f6153c84 100644 --- a/expecter.go +++ b/expecter.go @@ -16,15 +16,6 @@ func (r *Recorder) Print(args ...interface{}) { if v, ok := msgs[3].(string); ok { r.stmt = v } - // for i, msg := range msgs { - // switch v := msg.(type) { - // case string: - // case []byte: - // r.buf.Read([]byte(v)) - // default: - // return - // } - // } } } @@ -119,6 +110,10 @@ func NewExpecter(fn AdapterFactory, dialect string, args ...interface{}) (*DB, * /* PUBLIC METHODS */ +func (h *Expecter) AssertExpectations() error { + return h.adapter.AssertExpectations() +} + // First triggers a Query func (h *Expecter) First(out interface{}, where ...interface{}) ExpectedQuery { h.gorm.First(out, where) diff --git a/expecter_adapter.go b/expecter_adapter.go index 08b618c8..8e3025db 100644 --- a/expecter_adapter.go +++ b/expecter_adapter.go @@ -26,6 +26,7 @@ func init() { type Adapter interface { ExpectQuery(stmt string) ExpectedQuery ExpectExec(stmt string) ExpectedExec + AssertExpectations() error } // SqlmockAdapter implemenets the Adapter interface using go-sqlmock @@ -56,3 +57,7 @@ func (a *SqlmockAdapter) ExpectExec(stmt string) ExpectedExec { return &SqlmockExec{exec: e} } + +func (a *SqlmockAdapter) AssertExpectations() error { + return a.mocker.ExpectationsWereMet() +} diff --git a/expecter_test.go b/expecter_test.go index eeb24c48..edef7e06 100644 --- a/expecter_test.go +++ b/expecter_test.go @@ -38,6 +38,9 @@ func TestQuery(t *testing.T) { t.Fatal(err) } - expect.First(&User{}).Returns(&User{}) + expect.First(&User{}) + db.First(&User{}) + + expect.AssertExpectations() }