repository = $this->configureRepository(FieldChange::class); $this->connection->method('createQueryBuilder')->willReturnCallback(fn () => new QueryBuilder($this->connection)); } public function testWhereQueryPartForFindingChangesForSingleObject(): void { $integration = 'test'; $objectType = 'foobar'; $objectId = 5; $this->connection->expects($this->once()) ->method('executeQuery') ->with( 'SELECT * FROM '.MAUTIC_TABLE_PREFIX.'sync_object_field_change_report f WHERE (f.integration = :integration) AND (f.object_type = :objectType) AND (f.object_id = :objectId) ORDER BY f.modified_at ASC', [ 'integration' => $integration, 'objectType' => $objectType, 'objectId' => $objectId, ] ); $this->repository->findChangesForObject($integration, $objectType, $objectId); } public function testDeleteEntitiesForObject(): void { $this->connection->expects($this->once()) ->method('executeStatement') ->with( 'DELETE FROM '.MAUTIC_TABLE_PREFIX.'sync_object_field_change_report WHERE (object_type = :objectType) AND (object_id = :objectId)', [ 'objectType' => Company::class, 'objectId' => 123, ] )->willReturn(1); $this->repository->deleteEntitiesForObject(123, Company::class); } }