@@ -806,7 +806,7 @@ func TestRollbackThrow(t *testing.T) {
806806
807807 // ensure all expectations have been met
808808 if err = mock .ExpectationsWereMet (); err != nil {
809- fmt . Printf ("unmet expectation error: %s" , err )
809+ t . Errorf ("unmet expectation error: %s" , err )
810810 }
811811 // Output:
812812}
@@ -833,13 +833,26 @@ func TestUnexpectedCommitOrder(t *testing.T) {
833833 return
834834 }
835835 mock .ExpectBegin ()
836- mock .ExpectRollback ()
836+ mock .ExpectRollback (). WillReturnError ( fmt . Errorf ( "Rollback failed" ))
837837 tx , _ := db .Begin ()
838838 if err := tx .Commit (); err == nil {
839839 t .Error ("an error was expected when calling commit, but got none" )
840840 }
841841}
842842
843+ func TestExpectedCommitOrder (t * testing.T ) {
844+ // Open new mock database
845+ db , mock , err := New ()
846+ if err != nil {
847+ fmt .Println ("error creating mock database" )
848+ return
849+ }
850+ mock .ExpectCommit ().WillReturnError (fmt .Errorf ("Commit failed" ))
851+ if _ , err := db .Begin (); err == nil {
852+ t .Error ("an error was expected when calling begin, but got none" )
853+ }
854+ }
855+
843856func TestUnexpectedRollback (t * testing.T ) {
844857 // Open new mock database
845858 db , mock , err := New ()
@@ -938,4 +951,48 @@ func TestPrepareQuery(t *testing.T) {
938951 if err := mock .ExpectationsWereMet (); err != nil {
939952 t .Errorf ("there were unfulfilled expections: %s" , err )
940953 }
954+ }
955+
956+ func TestExpectedCloseError (t * testing.T ) {
957+ // Open new mock database
958+ db , mock , err := New ()
959+ if err != nil {
960+ fmt .Println ("error creating mock database" )
961+ return
962+ }
963+ mock .ExpectClose ().WillReturnError (fmt .Errorf ("Close failed" ))
964+ if err := db .Close (); err == nil {
965+ t .Error ("an error was expected when calling close, but got none" )
966+ }
967+ if err := mock .ExpectationsWereMet (); err != nil {
968+ t .Errorf ("there were unfulfilled expections: %s" , err )
969+ }
970+ }
971+
972+ func TestExpectedCloseOrder (t * testing.T ) {
973+ // Open new mock database
974+ db , mock , err := New ()
975+ if err != nil {
976+ fmt .Println ("error creating mock database" )
977+ return
978+ }
979+ defer db .Close ()
980+ mock .ExpectClose ().WillReturnError (fmt .Errorf ("Close failed" ))
981+ db .Begin ()
982+ if err := mock .ExpectationsWereMet (); err == nil {
983+ t .Error ("expected error on ExpectationsWereMet" )
984+ }
985+ }
986+
987+ func TestExpectedBeginOrder (t * testing.T ) {
988+ // Open new mock database
989+ db , mock , err := New ()
990+ if err != nil {
991+ fmt .Println ("error creating mock database" )
992+ return
993+ }
994+ mock .ExpectBegin ().WillReturnError (fmt .Errorf ("Begin failed" ))
995+ if err := db .Close (); err == nil {
996+ t .Error ("an error was expected when calling close, but got none" )
997+ }
941998}
0 commit comments