From 8109cbaee56d508615324c8cadc4190b6f3700e5 Mon Sep 17 00:00:00 2001 From: Nikolas Evers Date: Tue, 20 Jan 2026 11:57:56 +0100 Subject: [PATCH 1/3] refactor!: remove "Delete migration data" history action --- CHANGELOG.md | 1 + CHANGELOG_de-DE.md | 1 + UPGRADE.md | 5 +- src/Controller/HistoryController.php | 20 ------- src/Migration/History/HistoryService.php | 19 ------- .../History/HistoryServiceInterface.php | 2 - .../service/api/swag-migration.api.service.ts | 22 -------- .../page/swag-migration-history/index.ts | 43 -------------- .../swag-migration-history.html.twig | 56 ------------------- .../src/module/swag-migration/snippet/de.json | 8 +-- .../src/module/swag-migration/snippet/en.json | 8 +-- .../api/swag-migration.api.service.spec.js | 13 ----- 12 files changed, 8 insertions(+), 190 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3002374a5..d7962044e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # 16.0.0 +- #14400 - Removed the "Delete migration data" action from the migration history context menu - #13898 - Fixed migration of orders with different tax rates on line items from SW5 - #11808 - Introduced Error Resolution to manage data inconsistencies and apply migration fixes directly in the SW6 administration, instead of fixing issues in the source system as it was needed previously. - #11808 - Enriched migration logs with detailed data descriptions to improve error traceability. diff --git a/CHANGELOG_de-DE.md b/CHANGELOG_de-DE.md index 20954c0f6..954dc0a95 100644 --- a/CHANGELOG_de-DE.md +++ b/CHANGELOG_de-DE.md @@ -1,5 +1,6 @@ # 16.0.0 +- #14400 - Die Aktion „Migrationsdaten löschen" wurde aus dem Kontextmenü der Migrationshistorie entfernt - #13898 - Migration von Bestellungen mit unterschiedlichen Steuersätzen auf Positionen aus SW5 behoben - #11808 - Einführung einer Benutzeroberfläche zur Fehlerbehebung, um Dateninkonsistenzen zu beheben und Migrationskorrekturen direkt in der SW6 Administration vorzunehmen, anstatt wie zuvor im Quellsystem. - #11808 - Anreicherung der Migrations-Logs mit detaillierten Datenbeschreibungen zur besseren Nachvollziehbarkeit von Fehlern. diff --git a/UPGRADE.md b/UPGRADE.md index d454fcac6..b58453add 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,5 +1,9 @@ # 16.0.0 +- [BREAKING] [#115](https://github.com/shopware/SwagMigrationAssistant/pull/115) - refactor!: remove "Delete migration data" history action + - [BREAKING] Removed route `/api/_action/migration/clear-data-of-run` from `SwagMigrationAssistant\Controller\HistoryController` + - [BREAKING] Removed method `clearDataOfRun()` from `SwagMigrationAssistant\Migration\History\HistoryServiceInterface` + - [BREAKING] [#114](https://github.com/shopware/SwagMigrationAssistant/pull/114) - fix: use item-specific tax in order conversion - [BREAKING] Removed parameter `taxRules` from method `getLineItems` of `SwagMigrationAssistant\Profile\Shopware\Converter\OrderConverter` @@ -49,7 +53,6 @@ - Added acl privilege mapping to `src/Resources/app/administration/src/module/swag-migration/acl/index.ts` - [BREAKING] Added acl constraint for route `/migration/get-grouped-logs-of-run` from `SwagMigrationAssistant\Controller\HistoryController::getGroupedLogsOfRun()` requiring privilege `swag_migration.viewer` - [BREAKING] Added acl constraint for route `/migration/download-logs-of-run` from `SwagMigrationAssistant\Controller\HistoryController::downloadLogsOfRun()` requiring privilege `swag_migration.viewer` - - [BREAKING] Added acl constraint for route `/migration/clear-data-of-run` from `SwagMigrationAssistant\Controller\HistoryController::clearDataOfRun()` requiring privilege `swag_migration.deleter` - [BREAKING] Added acl constraint for route `/migration/is-media-processing` from `SwagMigrationAssistant\Controller\HistoryController::isMediaProcessing()` requiring privilege `swag_migration.viewer` - [BREAKING] Added acl constraint for route `/migration/generate-premapping` from `SwagMigrationAssistant\Controller\PremappingController::generatePremapping()` requiring privilege `swag_migration.editor` - [BREAKING] Added acl constraint for route `/migration/write-premapping` from `SwagMigrationAssistant\Controller\PremappingController::writePremapping()` requiring privilege `swag_migration.editor` diff --git a/src/Controller/HistoryController.php b/src/Controller/HistoryController.php index 16ac27c42..7a7471cef 100644 --- a/src/Controller/HistoryController.php +++ b/src/Controller/HistoryController.php @@ -10,14 +10,12 @@ use Shopware\Core\Framework\Context; use Shopware\Core\Framework\Log\Package; use Shopware\Core\Framework\Routing\RoutingException; -use SwagMigrationAssistant\Exception\MigrationException; use SwagMigrationAssistant\Migration\History\HistoryServiceInterface; use SwagMigrationAssistant\Migration\History\LogGroupingService; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\HeaderUtils; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\StreamedResponse; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; @@ -86,24 +84,6 @@ public function downloadLogsOfRun(Request $request, Context $context): StreamedR return $response; } - #[Route(path: '/api/_action/migration/clear-data-of-run', name: 'api.admin.migration.clear-data-of-run', methods: ['POST'], defaults: ['_acl' => ['swag_migration.deleter']])] - public function clearDataOfRun(Request $request, Context $context): Response - { - $runUuid = $request->request->getAlnum('runUuid'); - - if ($runUuid === '') { - throw RoutingException::missingRequestParameter('runUuid'); - } - - if ($this->historyService->isMediaProcessing()) { - throw MigrationException::migrationProcessing(); - } - - $this->historyService->clearDataOfRun($runUuid, $context); - - return new Response(); - } - #[Route(path: '/api/_action/migration/is-media-processing', name: 'api.admin.migration.is-media-processing', methods: ['GET'], defaults: ['_acl' => ['swag_migration_history:read']])] public function isMediaProcessing(): JsonResponse { diff --git a/src/Migration/History/HistoryService.php b/src/Migration/History/HistoryService.php index 587c9d8cb..70b599ee3 100644 --- a/src/Migration/History/HistoryService.php +++ b/src/Migration/History/HistoryService.php @@ -20,7 +20,6 @@ use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter; use Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting; use Shopware\Core\Framework\Log\Package; -use Shopware\Core\Framework\Uuid\Uuid; use SwagMigrationAssistant\Exception\MigrationException; use SwagMigrationAssistant\Migration\Logging\SwagMigrationLoggingCollection; use SwagMigrationAssistant\Migration\Logging\SwagMigrationLoggingEntity; @@ -126,24 +125,6 @@ public function downloadLogsOfRun(string $runUuid, Context $context): \Closure }; } - public function clearDataOfRun(string $runUuid, Context $context): void - { - $run = $this->runRepo->search(new Criteria([$runUuid]), $context)->getEntities()->first(); - - if ($run === null) { - throw MigrationException::entityNotExists(SwagMigrationRunEntity::class, $runUuid); - } - - if ($run->getStep()->isRunning()) { - throw MigrationException::migrationProcessing(); - } - - $this->connection->executeStatement('DELETE FROM swag_migration_logging WHERE run_id = :runId', ['runId' => Uuid::fromHexToBytes($runUuid)]); - $this->connection->executeStatement('DELETE FROM swag_migration_data WHERE run_id = :runId', ['runId' => Uuid::fromHexToBytes($runUuid)]); - $this->connection->executeStatement('DELETE FROM swag_migration_media_file WHERE run_id = :runId', ['runId' => Uuid::fromHexToBytes($runUuid)]); - $this->connection->executeStatement('DELETE FROM swag_migration_run WHERE id = :runId', ['runId' => Uuid::fromHexToBytes($runUuid)]); - } - public function isMediaProcessing(): bool { $unprocessedCount = $this->connection->executeQuery( diff --git a/src/Migration/History/HistoryServiceInterface.php b/src/Migration/History/HistoryServiceInterface.php index 6625bc8d8..5b7f02a6b 100644 --- a/src/Migration/History/HistoryServiceInterface.php +++ b/src/Migration/History/HistoryServiceInterface.php @@ -24,7 +24,5 @@ public function getGroupedLogsOfRun( */ public function downloadLogsOfRun(string $runUuid, Context $context): \Closure; - public function clearDataOfRun(string $runUuid, Context $context): void; - public function isMediaProcessing(): bool; } diff --git a/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts b/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts index 749c5c24e..b90d97f28 100644 --- a/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts +++ b/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts @@ -380,28 +380,6 @@ export default class MigrationApiService extends ApiService { ); } - async clearDataOfRun(runUuid: string): Promise> { - // @ts-ignore - const headers = this.getBasicHeaders(); - - // @ts-ignore - return this.httpClient - .post( - // @ts-ignore - `_action/${this.getApiBasePath()}/clear-data-of-run`, - { - runUuid, - }, - { - ...this.basicConfig, - headers, - }, - ) - .then((response: AxiosResponse) => { - return ApiService.handleResponse(response); - }); - } - async resetChecksums(connectionId: string, additionalHeaders: AdditionalHeaders = {}): Promise> { // @ts-ignore const headers = this.getBasicHeaders(additionalHeaders); diff --git a/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/index.ts b/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/index.ts index af6104ecb..34949a10c 100644 --- a/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/index.ts +++ b/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/index.ts @@ -1,4 +1,3 @@ -import type { AxiosResponse } from 'axios'; import template from './swag-migration-history.html.twig'; import './swag-migration-history.scss'; import type { TEntityCollection, TRepository } from '../../../../type/types'; @@ -25,8 +24,6 @@ export interface SwagMigrationHistoryData { isLoading: boolean; migrationRuns: TEntityCollection<'swag_migration_run'>; sortDirection: string; - runIdForRunClear: string | null; - isMediaProcessing: boolean; logDownloadEndpoint: string | null; runIdForLogDownload: string | null; oldParams: Record< @@ -39,8 +36,6 @@ export interface SwagMigrationHistoryData { naturalSorting?: boolean; } > | null; - showRunClearConfirmModal: boolean; - runClearConfirmModalIsLoading: boolean; migrationDateOptions: { hour: string; minute: string; @@ -58,7 +53,6 @@ export default Shopware.Component.wrapComponentConfig({ inject: [ MIGRATION_API_SERVICE, 'repositoryFactory', - 'acl', ], mixins: [ @@ -81,10 +75,6 @@ export default Shopware.Component.wrapComponentConfig({ context: Shopware.Context.api, logDownloadEndpoint: '', runIdForLogDownload: '', - runIdForRunClear: '', - showRunClearConfirmModal: false, - runClearConfirmModalIsLoading: false, - isMediaProcessing: true, }; }, @@ -109,10 +99,6 @@ export default Shopware.Component.wrapComponentConfig({ }, created() { - this.migrationApiService.isMediaProcessing().then((response: AxiosResponse) => { - this.isMediaProcessing = response.data; - }); - this.logDownloadEndpoint = `/api/_action/${this.migrationApiService.getApiBasePath()}/download-logs-of-run`; }, @@ -221,34 +207,5 @@ export default Shopware.Component.wrapComponentConfig({ this.$refs.downloadLogsOfRunForm.submit(); }); }, - - clearDataOfRun(runId: string) { - this.runClearConfirmModalIsLoading = true; - - return this.migrationApiService - .clearDataOfRun(runId) - .then(() => { - this.showRunClearConfirmModal = false; - this.runClearConfirmModalIsLoading = false; - window.location.reload(); - }) - .catch(() => { - this.createNotificationError({ - message: this.$t( - 'swag-migration.index.shopInfoCard.resetMigrationConfirmDialog.errorNotification.message', - ), - growl: true, - }); - }); - }, - - onContextClearRunClicked(runId: string) { - this.runIdForRunClear = runId; - this.showRunClearConfirmModal = true; - }, - - onClearRunConfirmed() { - this.clearDataOfRun(this.runIdForRunClear); - }, }, }); diff --git a/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/swag-migration-history.html.twig b/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/swag-migration-history.html.twig index 180a24b18..cb0041e44 100644 --- a/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/swag-migration-history.html.twig +++ b/src/Resources/app/administration/src/module/swag-migration/page/swag-migration-history/swag-migration-history.html.twig @@ -70,14 +70,6 @@ {{ $tc('swag-migration.history.contextMenu.downloadLogs') }} - - - {{ $tc('swag-migration.history.contextMenu.clearLogs') }} - {% endblock %} @@ -108,54 +100,6 @@ {% endblock %} - {% block swag_migration_history_run_clear_confirm_modal %} - - {% block swag_migration_history_run_clear_confirm_modal_content_hint %} -

- {{ $tc('swag-migration.history.clearRunDialog.contentHint') }} -

- {% endblock %} - - {% block swag_migration_history_run_clear_confirm_modal_content %} -

- {{ $tc('swag-migration.history.clearRunDialog.content') }} -

- {% endblock %} - - {% block swag_migration_history_run_clear_confirm_modal_footer %} - - {% endblock %} -
- {% endblock %} {% endblock %} diff --git a/src/Resources/app/administration/src/module/swag-migration/snippet/de.json b/src/Resources/app/administration/src/module/swag-migration/snippet/de.json index 6fe398d3d..91ab42931 100644 --- a/src/Resources/app/administration/src/module/swag-migration/snippet/de.json +++ b/src/Resources/app/administration/src/module/swag-migration/snippet/de.json @@ -775,13 +775,7 @@ "selectedData": "Daten", "contextMenu": { "details": "Details anzeigen", - "downloadLogs": "Protokoll herunterladen", - "clearLogs": "Migrationsdaten löschen" - }, - "clearRunDialog": { - "title": "Migrationsdaten löschen", - "content": "Beim Löschen der Migrationsdaten werden Log-Einträge, Mediendateien-Einträge, temporäre Migrationsdatensätze und der Migrationslauf selbst entfernt. Nach dem Löschen ist die Migration in der Historie nicht mehr einsehbar.", - "contentHint": "Willst Du die Daten wirklich löschen?" + "downloadLogs": "Protokoll herunterladen" }, "detailPage": { "title": "Details zur Migration", diff --git a/src/Resources/app/administration/src/module/swag-migration/snippet/en.json b/src/Resources/app/administration/src/module/swag-migration/snippet/en.json index b9e2998a7..23627bcaa 100644 --- a/src/Resources/app/administration/src/module/swag-migration/snippet/en.json +++ b/src/Resources/app/administration/src/module/swag-migration/snippet/en.json @@ -787,13 +787,7 @@ "selectedData": "Data", "contextMenu": { "details": "Show details", - "downloadLogs": "Download log", - "clearLogs": "Delete migration data" - }, - "clearRunDialog": { - "title": "Delete migration data", - "content": "Deleting migration data will remove log entries, media file entries, temporary migration data records and the migration run, which then will no longer be available in the migration history.", - "contentHint": "Do you really want to delete the data?" + "downloadLogs": "Download log" }, "detailPage": { "title": "Migration details", diff --git a/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js b/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js index 1b7b4d090..c972b3c57 100644 --- a/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js +++ b/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js @@ -232,19 +232,6 @@ describe('src/core/service/api/swag-migration.api.service', () => { expect(clientMock.history.get[0].params).toEqual(data); }); - it('should clear data of run', async () => { - const { migrationApiService, clientMock } = createMigrationApiService(); - - const data = { - runUuid: '123e4567-e89b-12d3-a456-426614174000', - }; - - await migrationApiService.clearDataOfRun(data.runUuid); - - expect(clientMock.history.post[0].url).toBe('_action/migration/clear-data-of-run'); - expect(clientMock.history.post[0].data).toBe(JSON.stringify(data)); - }); - it('should reset checksums', async () => { const { migrationApiService, clientMock } = createMigrationApiService(); From 6ebd56a3ba7dc249fa2a93134099bc8aa18368e2 Mon Sep 17 00:00:00 2001 From: Nikolas Evers Date: Thu, 22 Jan 2026 17:48:00 +0100 Subject: [PATCH 2/3] remove `isMediaProcessing` endpoint --- UPGRADE.md | 3 ++- src/Controller/HistoryController.php | 8 -------- src/DependencyInjection/migration.xml | 1 - src/Migration/History/HistoryService.php | 11 ----------- src/Migration/History/HistoryServiceInterface.php | 2 -- .../core/service/api/swag-migration.api.service.ts | 11 ----------- .../service/api/swag-migration.api.service.spec.js | 11 ----------- 7 files changed, 2 insertions(+), 45 deletions(-) diff --git a/UPGRADE.md b/UPGRADE.md index f1cae2013..8d7bcaed0 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -3,6 +3,8 @@ - [BREAKING] [#115](https://github.com/shopware/SwagMigrationAssistant/pull/115) - refactor!: remove "Delete migration data" history action - [BREAKING] Removed route `/api/_action/migration/clear-data-of-run` from `SwagMigrationAssistant\Controller\HistoryController` - [BREAKING] Removed method `clearDataOfRun()` from `SwagMigrationAssistant\Migration\History\HistoryServiceInterface` + - [BREAKING] Removed route `/api/_action/migration/is-media-processing` from `SwagMigrationAssistant\Controller\HistoryController` + - [BREAKING] Removed method `isMediaProcessing()` from `SwagMigrationAssistant\Migration\History\HistoryServiceInterface` - [BREAKING] [#114](https://github.com/shopware/SwagMigrationAssistant/pull/114) - fix: use item-specific tax in order conversion - [BREAKING] Removed parameter `taxRules` from method `getLineItems` of `SwagMigrationAssistant\Profile\Shopware\Converter\OrderConverter` @@ -53,7 +55,6 @@ - Added acl privilege mapping to `src/Resources/app/administration/src/module/swag-migration/acl/index.ts` - [BREAKING] Added acl constraint for route `/migration/get-grouped-logs-of-run` from `SwagMigrationAssistant\Controller\HistoryController::getGroupedLogsOfRun()` requiring privilege `swag_migration.viewer` - [BREAKING] Added acl constraint for route `/migration/download-logs-of-run` from `SwagMigrationAssistant\Controller\HistoryController::downloadLogsOfRun()` requiring privilege `swag_migration.viewer` - - [BREAKING] Added acl constraint for route `/migration/is-media-processing` from `SwagMigrationAssistant\Controller\HistoryController::isMediaProcessing()` requiring privilege `swag_migration.viewer` - [BREAKING] Added acl constraint for route `/migration/generate-premapping` from `SwagMigrationAssistant\Controller\PremappingController::generatePremapping()` requiring privilege `swag_migration.editor` - [BREAKING] Added acl constraint for route `/migration/write-premapping` from `SwagMigrationAssistant\Controller\PremappingController::writePremapping()` requiring privilege `swag_migration.editor` - [BREAKING] Added acl constraint for route `/migration/get-profile-information` from `SwagMigrationAssistant\Controller\StatusController::getProfileInformation()` requiring privilege `swag_migration.viewer` diff --git a/src/Controller/HistoryController.php b/src/Controller/HistoryController.php index 9e5409d22..2a52520b8 100644 --- a/src/Controller/HistoryController.php +++ b/src/Controller/HistoryController.php @@ -84,14 +84,6 @@ public function downloadLogsOfRun(Request $request, Context $context): StreamedR return $response; } - #[Route(path: '/api/_action/migration/is-media-processing', name: 'api.admin.migration.is-media-processing', methods: ['GET'], defaults: ['_acl' => ['swag_migration_history:read']])] - public function isMediaProcessing(): JsonResponse - { - $result = $this->historyService->isMediaProcessing(); - - return new JsonResponse($result); - } - #[Route( path: '/api/_action/migration/get-log-groups', name: 'api.admin.migration.get-log-groups', diff --git a/src/DependencyInjection/migration.xml b/src/DependencyInjection/migration.xml index 5ae806f3c..212794312 100644 --- a/src/DependencyInjection/migration.xml +++ b/src/DependencyInjection/migration.xml @@ -205,7 +205,6 @@ - connection->executeQuery( - 'SELECT COUNT(id) FROM swag_migration_media_file WHERE processed = 0 and process_failure != 1' - )->fetchOne(); - - return (int) $unprocessedCount !== 0; - } - private function printLogEntry(SwagMigrationLoggingEntity $logEntry): void { \printf('----- Log Entry #%d -----%s', $logEntry->getAutoIncrement(), \PHP_EOL); diff --git a/src/Migration/History/HistoryServiceInterface.php b/src/Migration/History/HistoryServiceInterface.php index 5b7f02a6b..7c82ea1fb 100644 --- a/src/Migration/History/HistoryServiceInterface.php +++ b/src/Migration/History/HistoryServiceInterface.php @@ -23,6 +23,4 @@ public function getGroupedLogsOfRun( * Use print / echo inside the Closure to write strings into the log file. */ public function downloadLogsOfRun(string $runUuid, Context $context): \Closure; - - public function isMediaProcessing(): bool; } diff --git a/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts b/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts index b90d97f28..192e35a4d 100644 --- a/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts +++ b/src/Resources/app/administration/src/core/service/api/swag-migration.api.service.ts @@ -418,17 +418,6 @@ export default class MigrationApiService extends ApiService { ); } - async isMediaProcessing(additionalHeaders: AdditionalHeaders = {}): Promise { - // @ts-ignore - const headers = this.getBasicHeaders(additionalHeaders); - - // @ts-ignore - return this.httpClient.get(`_action/${this.getApiBasePath()}/is-media-processing`, { - ...this.basicConfig, - headers, - }); - } - async downloadLogsOfRun(runUuid: string, additionalHeaders: AdditionalHeaders = {}): Promise { // @ts-ignore const headers = this.getBasicHeaders(additionalHeaders); diff --git a/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js b/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js index c972b3c57..69a7b7dd3 100644 --- a/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js +++ b/tests/Jest/src/core/service/api/swag-migration.api.service.spec.js @@ -259,17 +259,6 @@ describe('src/core/service/api/swag-migration.api.service', () => { expect(clientMock.history.post[0].headers['test-header']).toBe('test-value'); }); - it('should check if media is processing', async () => { - const { migrationApiService, clientMock } = createMigrationApiService(); - - await migrationApiService.isMediaProcessing({ - 'test-header': 'test-value', - }); - - expect(clientMock.history.get[0].url).toBe('_action/migration/is-media-processing'); - expect(clientMock.history.get[0].headers['test-header']).toBe('test-value'); - }); - it('should download logs of run', async () => { const { migrationApiService, clientMock } = createMigrationApiService(); From 4a8c499a5778ff3e81f077c2bf1446c9b4264750 Mon Sep 17 00:00:00 2001 From: Nikolas Evers Date: Thu, 22 Jan 2026 17:57:11 +0100 Subject: [PATCH 3/3] fix test --- tests/unit/Migration/History/HistoryServiceTest.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/unit/Migration/History/HistoryServiceTest.php b/tests/unit/Migration/History/HistoryServiceTest.php index 56015f5a1..156924567 100644 --- a/tests/unit/Migration/History/HistoryServiceTest.php +++ b/tests/unit/Migration/History/HistoryServiceTest.php @@ -7,7 +7,6 @@ namespace unit\Migration\History; -use Doctrine\DBAL\Connection; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; @@ -314,7 +313,6 @@ private function createHistoryService(array $logs, array $runs): HistoryService return new HistoryService( $loggingRepo, $runRepo, - $this->createMock(Connection::class), ); }