getUserFromArray(); $databaseHandler = $this->prophesize(DatabaseHandlerInterface::class); $databaseHandler ->execute(Argument::type('string'), Argument::type('array')) ->willReturn(true, true); $databaseHandler ->getConnection() ->willReturn(new class { public function lastInsertId(): int { return 100; } }); $userRepository = new UserRepository( $databaseHandler->reveal(), new BasicUserAuthorization() ); /** * We are testing if the User entity has been mutated by the `create` * method in the UserRepository. */ $results = $userRepository->create($user); $this->assertTrue($results); $this->assertEquals(100, $user->getId()); $user->setName("Dave Smith-Hayes"); $results = $userRepository->update($user); $this->assertTrue($results); $this->assertEquals( $user->getUpdatedAt()->format("dmY"), (new \DateTime())->format("dmY") ); } }