dbConnection = $this->createMock(IDBConnection::class); $this->timeFactory = $this->createMock(ITimeFactory::class); $this->backgroundJob = new CleanupInvitationTokenJob( $this->dbConnection, $this->timeFactory); } public function testRun(): void { $this->timeFactory->expects($this->once()) ->method('getTime') ->with() ->willReturn(1337); $queryBuilder = $this->createMock(IQueryBuilder::class); $expr = $this->createMock(IExpressionBuilder::class); $stmt = $this->createMock(\Doctrine\DBAL\Driver\Statement::class); $this->dbConnection->expects($this->once()) ->method('getQueryBuilder') ->with() ->willReturn($queryBuilder); $queryBuilder->method('expr') ->willReturn($expr); $queryBuilder->method('createNamedParameter') ->willReturnMap([ [1337, \PDO::PARAM_STR, null, 'namedParameter1337'] ]); $function = 'function1337'; $expr->expects($this->once()) ->method('lt') ->with('expiration', 'namedParameter1337') ->willReturn($function); $this->dbConnection->expects($this->once()) ->method('getQueryBuilder') ->with() ->willReturn($queryBuilder); $queryBuilder->expects($this->once()) ->method('delete') ->with('calendar_invitations') ->willReturn($queryBuilder); $queryBuilder->expects($this->once()) ->method('where') ->with($function) ->willReturn($queryBuilder); $queryBuilder->expects($this->once()) ->method('execute') ->with() ->willReturn($stmt); $this->backgroundJob->run([]); } }