Browse Source

Fix of incorrect DynamoDB mock creation

addMethods([]) breaks the methods configured at onlyMethods() call
Victor Pryazhnikov 4 years ago
parent
commit
812d63b171
1 changed files with 7 additions and 4 deletions
  1. 7 4
      tests/Monolog/Handler/DynamoDbHandlerTest.php

+ 7 - 4
tests/Monolog/Handler/DynamoDbHandlerTest.php

@@ -35,11 +35,14 @@ class DynamoDbHandlerTest extends TestCase
             $absentMethods[] = 'formatAttributes';
             $absentMethods[] = 'formatAttributes';
         }
         }
 
 
-        $this->client = $this->getMockBuilder('Aws\DynamoDb\DynamoDbClient')
+        $clientMockBuilder = $this->getMockBuilder('Aws\DynamoDb\DynamoDbClient')
             ->onlyMethods($implementedMethods)
             ->onlyMethods($implementedMethods)
-            ->addMethods($absentMethods)
-            ->disableOriginalConstructor()
-            ->getMock();
+            ->disableOriginalConstructor();
+        if ($absentMethods) {
+            $clientMockBuilder->addMethods($absentMethods);
+        }
+
+        $this->client = $clientMockBuilder->getMock();
     }
     }
 
 
     public function testConstruct()
     public function testConstruct()