From c96b620950511245b49c42d2770e3184293c2fb7 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Tue, 17 Feb 2026 23:01:02 +0100 Subject: [PATCH] Add new files for ShopCoupon, ShopOrder, and ShopProducer functionality - Created new PHP classes for handling shop coupons and orders in the autoload front controls and factories. - Added a new view class for ShopOrder. - Introduced a new ShopProducerController and Producer class for managing producers. - Included version 0.291 zip file with the necessary updates and new files. --- .phpunit.result.cache | 2 +- temp/update_build/ver_0.290.zip | Bin 0 -> 36607 bytes temp/update_build/ver_0.290_files.txt | 5 +++++ temp/update_build/ver_0.291.zip | Bin 0 -> 9105 bytes temp/update_build/ver_0.291_files.txt | 2 ++ 5 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 temp/update_build/ver_0.290.zip create mode 100644 temp/update_build/ver_0.290_files.txt create mode 100644 temp/update_build/ver_0.291.zip create mode 100644 temp/update_build/ver_0.291_files.txt diff --git a/.phpunit.result.cache b/.phpunit.result.cache index 0423233..c89f46d 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":{"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveCreatesNewArticle":3,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveUpdatesExistingArticle":3,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsInsertsForNewArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsUpsertsForExistingArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSavePagesForNewArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveDeletesMarkedImagesOnUpdate":4,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFrontScontainerDetailsReturnsContainerWithLanguage":3},"times":{"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsCorrectValue":0.003,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsNullWhenProductNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testFindReturnsProductData":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUpdateQuantitySuccess":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsPromoPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularWhenPromoIsHigher":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsProductName":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsInteger":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveReturnsBool":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveReturnsBool":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorAcceptsRepository":0.004,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasUnarchiveMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testUnarchiveMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorRequiresProductRepository":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsBannerWithTranslations":0.001,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testDeleteReturnsTrue":0.002,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveInsertsNewBanner":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithRedis":0.001,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheRedisUnavailable":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithoutRedis":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheReturnStructure":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testCanBeInstantiated":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasSaveSettingsMethod":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasGetSettingsMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheAjaxMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasViewMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testIsNotAbstract":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testCanCreateController":0.005,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasEditMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testEditMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorAcceptsRepository":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorRequiresArticleRepository":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsArticleWithRelations":0.005,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsNullWhenArticleDoesNotExist":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedFilesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedImagesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveCreatesNewArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveReturnsZeroWhenInsertFails":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveUpdatesExistingArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsInsertsForNewArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsUpsertsForExistingArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSavePagesForNewArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveDeletesMarkedImagesOnUpdate":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArchiveSetsStatusToMinusOne":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArchiveReturnsFalseWhenUpdateFails":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveGalleryOrderUpdatesImageOrder":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveGalleryOrderSkipsEmptyValues":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasBrowseListMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasGalleryOrderSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testBrowseListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testGalleryOrderSaveMethodReturnType":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testListForAdminUsesBoundParamsForTitleFilter":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveWithLegacyFormat":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveUpdatesExistingTranslationsByBannerAndLang":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testListForAdminIncludesThumbnailSrc":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testRestoreSetsStatusToZero":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeletePermanentlyRemovesArticleAndRelations":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testListArchivedForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testFindReturnsUnitWithTranslations":0.001,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testFindReturnsNullWhenUnitNotFound":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testSaveInsertsNewUnitAndTranslationsForStringLanguageId":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testDeleteRemovesUnitAndTranslations":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testGetUnitNameByIdReturnsTextFromDatabase":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testGetUnitNameByIdSupportsStringLanguageId":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testAllUnitsReturnsArrayIndexedById":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testLanguageDetailsReturnsArrayOrNull":0.001,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testLanguagesListReturnsArray":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testSaveLanguageRejectsInvalidLanguageId":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testSaveTranslationInsertsNewTranslationAndReturnsId":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDeleteTranslationReturnsBoolean":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testListForAdminReturnsItemsAndTotal":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageIdReturnsLanguageWithStartFlag":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageIdFallsBackToFirstLanguageOrPl":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testFindReturnsLayoutWithRelations":0.002,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testDeleteReturnsFalseWhenOnlyOneLayoutExists":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testFindReturnsDefaultLayoutWhenRecordDoesNotExist":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testSaveInsertsNewLayoutAndReturnsId":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testListAllReturnsArray":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testTemplateDetailsReturnsNullForInvalidId":0.002,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testTemplateDetailsReturnsArray":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testSaveSettingsUpdatesHeaderAndFooter":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testDeleteTemplateReturnsFalseForAdminTemplate":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testTemplateByNameReturnsText":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFindReturnsDefaultContainerForInvalidId":0.001,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFindReturnsContainerWithTranslations":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testDetailsForLanguageReturnsNullForInvalidData":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testFindReturnsUserWhenExists":0.001,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testCheckLoginReturnsErrorWhenLoginIsTaken":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testCheckLoginReturnsOkWhenAvailable":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForTooShortPasswordOnCreate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForMismatchedPasswordsOnCreate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveCreatesUserWithNormalizedSwitches":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveUpdatesExistingUserWithPassword":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveUpdatesExistingUserWithoutPassword":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForTooShortPasswordOnUpdate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForMismatchedPasswordsOnUpdate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDeleteReturnsTrue":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDeleteReturnsFalseOnFailure":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDetailsReturnsUserByLogin":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDetailsReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testLogonReturnsSuccessForValidCredentials":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testLogonReturnsZeroForNonexistentUser":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testLogonReturnsNegativeOneForBlockedUser":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsFalseForNonexistentUser":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsFalseAfterMaxAttempts":0.077,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsFalseForExpiredCode":0.078,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsTrueForValidCode":0.155,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSendTwofaCodeReturnsFalseWhen2FADisabled":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSendTwofaCodeReturnsFalseForInvalidEmail":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testUpdateByIdCallsDbUpdate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testListForAdminReturnsItemsAndTotal":0,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testConstructorRequiresArticleRepository":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasEditMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testConstructorRequiresDictionariesRepository":0,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testConstructorRequiresLanguagesRepository":0,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testConstructorRequiresLayoutsRepository":0,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testConstructorAcceptsDependencies":0.002,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testConstructorRequiresRepositoryAndRenderer":0,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testConstructorAcceptsDependencies":0.001,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testConstructorRequiresRepositoryAndLanguagesRepository":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasViewListMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasUserEditMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasUserSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasUserDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasTwofaMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasLoginFormMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testConstructorRequiresUserRepository":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testNormalizeUserReturnsDefaultsForNull":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testNormalizeUserCastsTypes":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testNormalizeUserHandlesPartialData":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveFilesOrderUpdatesFilesOrder":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveFilesOrderSkipsEmptyValues":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPagesSummaryForArticlesBuildsLabels":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testUpdateImageAltDelegatesToDatabase":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testMarkFileToDeleteDelegatesToDatabase":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindReturnsDefaultCouponForInvalidId":0.001,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindNormalizesCouponData":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testSaveInsertsCouponAndReturnsId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testSaveUpdatesCouponAndReturnsId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testDeleteReturnsTrueWhenDatabaseDeleteSucceeds":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testCategoriesTreeReturnsHierarchy":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetSettingsReturnsArray":0.002,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetSettingReturnsValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetSettingReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testSaveSettingUpdatesExistingValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testSaveSettingInsertsNewValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testInvalidProviderThrowsException":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testLinkProductUpdatesDatabase":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testUnlinkProductClearsFields":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetProductSkuReturnsValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetProductSkuReturnsNullForMissing":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloGetAccessTokenReturnsNullWithoutSettings":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloFetchListThrowsForInvalidType":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testAllPublicMethodsExist":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testSettingsTableMapping":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testShopproProviderWorks":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testMenusListReturnsArray":0.002,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testMenuDeleteReturnsFalseWhenMenuHasPages":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testGenerateSeoLinkAddsSuffixWhenBaseSlugExists":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testPageUrlPreviewBuildsLanguagePrefixedUrlForNonDefaultLanguage":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testFindReturnsDefaultPromotionForInvalidId":0.001,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testSaveInsertsPromotionAndReturnsId":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testDeleteReturnsTrueWhenDatabaseDeleteSucceeds":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testCategoriesTreeReturnsHierarchy":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasImageAltChangeMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasFileNameChangeMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasImageDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasFileDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testImageAltChangeMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testFileNameChangeMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testImageDeleteMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testFileDeleteMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testConstructorAcceptsDependencies":0.002,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testConstructorRequiresRepository":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllApiloSettingsMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllApiloDataFetchMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllApiloProductMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllShopproMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testApiloSettingsReturnsString":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testShopproSettingsReturnsString":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testVoidReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testDoesNotHaveSellasistMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testDoesNotHaveBaselinkerMethods":0,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testConstructorAcceptsRepositories":0.001,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testConstructorRequiresPagesLanguagesAndLayoutsRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testConstructorRequiresCouponRepository":0,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testConstructorRequiresPromotionRepository":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindReturnsNullForNegativeId":0.001,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindReturnsStatusWithIdZero":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindNormalizesNullApiloStatusId":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveUpdatesColorAndApiloStatusId":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveWithIdZeroWorks":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveWithEmptyApiloStatusIdSetsNull":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveRejectsNegativeId":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetApiloStatusIdReturnsValue":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetApiloStatusIdReturnsNullWhenNotSet":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetByIntegrationStatusIdForApilo":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetByIntegrationStatusIdReturnsNullForUnknownIntegration":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testAllStatusesReturnsOrderedList":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testConstructorRequiresShopStatusRepository":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testShouldRefreshAccessTokenReturnsFalseForFarFutureDate":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testShouldRefreshAccessTokenReturnsTrueForNearExpiryDate":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloFetchListResultReturnsDetailedErrorWhenConfigMissing":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloIntegrationStatusReturnsMissingConfigMessage":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testNormalizeApiloMapListRejectsErrorPayload":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testNormalizeApiloMapListAcceptsIdNameList":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindReturnsNullForInvalidId":0.001,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindNormalizesData":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testSaveUpdatesRowAndReturnsId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testSavePreservesNonNumericApiloPaymentTypeId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testSaveReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testAllActiveReturnsNormalizedRows":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testAllForAdminReturnsRowsIncludingInactive":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindActiveByIdReturnsNullForNotFound":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindKeepsNonNumericApiloPaymentTypeId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testIsActiveNormalizesStatusValue":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testGetApiloPaymentTypeIdHandlesNullAndInt":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testGetApiloPaymentTypeIdReturnsStringForNonNumericValue":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testForTransportReturnsRows":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindReturnsNullForInvalidId":0.001,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindNormalizesDataAndIncludesPaymentMethods":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindHandlesNullMaxWpAndApiloId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveInsertReturnsNewId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveUpdateReturnsExistingId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveInsertReturnsNullOnFailure":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveResetsDefaultWhenSettingNew":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveSwitchValuesNormalization":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testListForAdminWhitelistsSortColumn":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testAllActiveReturnsNormalizedRows":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testGetApiloCarrierAccountIdReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testGetApiloCarrierAccountIdReturnsIntOrNull":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testGetTransportCostReturnsFloatOrNull":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testAllForAdminReturnsAllTransports":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testConstructorRequiresPaymentMethodRepository":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testConstructorRequiresBothRepositories":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFindAttributeReturnsDefaultAttributeForInvalidId":0.002,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testListForAdminWhitelistsSortDirectionAndPerPage":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testSaveValuesRemovesObsoleteRowsAndSetsDefault":0.001,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testSaveValuesDeletesTranslationWhenNameIsEmpty":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testGetAttributeValueByIdUsesDefaultLanguageWhenNotProvided":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSortTypesReturnsExpectedKeys":0.002,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDetailsReturnsDefaultForInvalidId":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDetailsLoadsTranslations":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveCategoriesOrderReturnsFalseForNonArray":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveCategoriesOrderUpdatesOrderAndParent":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveProductOrderReturnsFalseForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveProductOrderUpdatesCategoryProductOrder":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDeleteReturnsFalseWhenHasChildren":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDeleteReturnsTrueWhenDeleted":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryTitleReturnsEmptyWhenNotFound":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryTitleReturnsFirstAvailableTitle":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testListForAdminWhitelistsSortAndPagination":0.001,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testOrdersForClientReturnsEmptyOnMissingInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testOrdersForClientNormalizesRows":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testTotalsForClientReturnsZeroForMissingInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testTotalsForClientReturnsAggregatedValues":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testConstructorAcceptsDb":0.001,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testHasAllPublicMethods":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testSalesGridReturnsArray":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testLastOrdersReturnsArray":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testMostViewedProductsReturnsArray":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testBestSalesProductsReturnsArray":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageReturnsId":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageReturnsFallbackWhenEmpty":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testActiveLanguagesReturnsList":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testActiveLanguagesReturnsEmptyArrayWhenNone":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testTranslationsReturnsArray":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testTranslationsDefaultsToPl":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testTranslationsForDifferentLanguage":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testUnsubscribeReturnsFalseForInvalidHash":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testUnsubscribeDeletesSubscriber":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testConfirmSubscriptionReturnsFalseForInvalidHash":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testConfirmSubscriptionUpdatesStatus":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testGetHashByEmailReturnsHash":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testGetHashByEmailReturnsNullForMissing":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testRemoveByEmailDeletesSubscriber":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testRemoveByEmailReturnsFalseForMissing":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testSignupReturnsFalseForExistingEmail":0.001,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testConstructorAcceptsOptionalDependencies":0.003,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testOrderStatusesReturnsMappedArray":0.001,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testNextAndPrevOrderIdReturnNullForInvalidInput":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testListForAdminReturnsItemsAndTotal":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindReturnsDefaultProducerForInvalidId":0.001,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindNormalizesProducerData":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testSaveInsertsNewProducer":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testSaveUpdatesExistingProducer":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testDeleteReturnsTrueOnSuccess":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testListForAdminWhitelistsSortAndPagination":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testAllProducersReturnsFormattedList":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testProducerProductsReturnsPaginatedResults":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testFindReturnsDefaultSetForInvalidId":0.001,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testFindNormalizesSetData":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testSaveInsertsNewSetAndSyncsProducts":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testSaveUpdatesExistingSet":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testListForAdminWhitelistsSortAndPagination":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testAllSetsReturnsFormattedList":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testAllProductsForMassEditReturnsMap":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testAllProductsForMassEditEmptyWhenNoProducts":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetProductsByCategoryReturnsList":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetProductsByCategoryReturnsEmptyArray":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testApplyDiscountPercentReturnsNullForInvalidProduct":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testApplyDiscountPercentReturnsCorrectPrices":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testApplyDiscountPercentZeroPercentNullsPromo":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testAllSettingsReturnsAssociativeArray":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testAllSettingsReturnsEmptyArrayWhenNoSettings":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testAllSettingsHandlesNullFromDb":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testGetSingleValueReturnsCorrectParam":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testGetSingleValueUsesParamNotHardcoded":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testGetSingleValueReturnsEmptyStringWhenNotFound":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testConstructorAcceptsDb":0.001,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testHasUpdateMethod":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testUpdateReturnsArray":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testHasRunPendingMigrationsMethod":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testRunPendingMigrationsWithNoResults":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testHasPrivateHelperMethods":0,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testConstructorAcceptsRepositories":0.001,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testHasMainViewMethod":0,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testMainViewReturnsString":0,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testConstructorRequiresRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testConstructorRequiresBothRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testValidateValuesRowsReturnsErrorsForMissingDefaultLanguageAndDefaultSelection":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testValidateValuesRowsReturnsEmptyArrayForValidRows":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testConstructorAcceptsDependencies":0.002,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testHasExpectedActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testViewActionsReturnString":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testMutationActionsReturnVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testConstructorRequiresCategoryAndLanguagesRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testConstructorRequiresClientRepository":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testConstructorAcceptsService":0.002,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testHasExpectedActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testViewActionsReturnString":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testMutationActionsReturnVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testConstructorRequiresOrderAdminService":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testConstructorAcceptsRepositories":0.001,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testConstructorRequiresBothRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasMassEditActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasViewListMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasEditAndSaveMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasOperationMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasCombinationMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasImageAndFileMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testMassEditReturnsString":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testMassEditSaveReturnsVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testGetProductsByCategoryReturnsVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testConstructorRequiresRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasFormBuildingHelpers":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testSaveMethodReturnsVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testConstructorRequiresProductSetRepository":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testHasMainViewMethod":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testMainViewReturnsString":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testHasUpdateMethod":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testHasUpdateAllMethod":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testConstructorRequiresRepository":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleDetailsFrontendReturnsArticleWithRelations":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleDetailsFrontendReturnsNullForMissing":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleDetailsFrontendCopyFromFallback":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticlesIdsReturnsSortedIds":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticlesIdsReturnsNullForEmpty":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPageArticlesCountReturnsInt":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPageArticlesCountReturnsZeroForEmpty":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPageArticlesPagination":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleNoindexReturnsBool":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleNoindexReturnsFalseForNonNoindex":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testNewsReturnsArticlesArray":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testTopArticlesOrderByViews":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testNewsListArticlesOrderByDateDesc":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testBannersReturnsActiveBannersWithFlatLanguages":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testBannersReturnsNullWhenNoBanners":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testMainBannerReturnsActiveBannerWithFlatLanguages":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testMainBannerReturnsNullWhenNoBanner":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testCategoryDefaultLayoutIdReturnsId":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testCategoryDefaultLayoutIdReturnsNullWhenNone":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetDefaultLayoutReturnsLayoutFromDb":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetDefaultLayoutReturnsNullWhenNoLayout":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetArticleLayoutReturnsLayoutFromDb":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetArticleLayoutReturnsNullWhenNoLayout":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetActiveLayoutFallsBackToDefault":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetActiveLayoutReturnsNullWhenNothingFound":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontPageDetailsReturnsPageWithLanguage":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontPageDetailsReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMainPageIdReturnsStartPage":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMainPageIdFallsBackToFirstActive":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontPageSortReturnsValue":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMenuDetailsReturnsMenuWithPages":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMenuDetailsReturnsNullForInvalidMenu":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMenuPagesReturnsEmptyForNoPages":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFrontScontainerDetailsReturnsContainerWithLanguage":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFrontScontainerDetailsReturnsFallbackForNotFound":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontAttributeDetailsReturnsAttributeWithLanguage":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontAttributeDetailsReturnsFallbackForNotFound":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontValueDetailsReturnsValueWithLanguage":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontValueDetailsReturnsFallbackForNotFound":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testSummaryWpCalculatesTotal":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testSummaryWpReturnsZeroForEmptyBasket":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsSumsQuantities":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsReturnsZeroForEmptyBasket":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextSingular":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextPlural2to4":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextPlural5Plus":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextCastsToInt":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testGetCategorySortReturnsZeroForInvalidId":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testGetCategorySortReturnsSortType":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryNameReturnsEmptyForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryNameReturnsTitle":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryNameReturnsEmptyWhenNotFound":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testFrontCategoryDetailsReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testFrontCategoryDetailsReturnsCategoryWithLanguage":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testFrontCategoryDetailsReturnsEmptyWhenCategoryNotFound":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoriesTreeReturnsEmptyWhenNoCategories":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryProductsCountReturnsZeroForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryProductsCountReturnsCount":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testProductsIdReturnsEmptyForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testProductsIdReturnsProductIds":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testBlogCategoryProductsReturnsEmptyForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testBlogCategoryProductsReturnsIds":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testPaginatedCategoryProductsReturnsEmptyWhenNoProducts":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testPaginatedCategoryProductsClampsPage":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientDetailsReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientDetailsReturnsRowOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientDetailsReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientEmailReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientEmailReturnsStringOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientEmailReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientAddressesReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientAddressesReturnsRows":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientAddressesHandlesFalseFromDb":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDetailsReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDetailsReturnsRow":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDeleteReturnsTrueOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressSaveReturnsFalseForInvalidClientId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressSaveInsertsNewAddress":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressSaveUpdatesExistingAddress":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testMarkAddressAsCurrentReturnsFalseForInvalidIds":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testMarkAddressAsCurrentResetsAndSets":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsErrorOnEmptyInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsErrorWhenClientNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsInactiveForUnconfirmedAccount":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsErrorOnWrongPassword":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsOkOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testCreateClientReturnsNullOnEmptyInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testCreateClientReturnsNullWhenEmailTaken":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testCreateClientReturnsIdAndHashOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testConfirmRegistrationReturnsNullOnEmptyHash":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testConfirmRegistrationReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testConfirmRegistrationActivatesAndReturnsEmail":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testGenerateNewPasswordReturnsNullOnEmptyHash":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testGenerateNewPasswordReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testGenerateNewPasswordReturnsEmailAndPassword":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testInitiatePasswordRecoveryReturnsNullOnEmptyEmail":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testInitiatePasswordRecoveryReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testInitiatePasswordRecoverySetsRecoveryFlagAndReturnsHash":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientOrdersReturnsEmptyForInvalidId":0}} \ No newline at end of file +{"version":1,"defects":{"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveCreatesNewArticle":3,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveUpdatesExistingArticle":3,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsInsertsForNewArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsUpsertsForExistingArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSavePagesForNewArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveDeletesMarkedImagesOnUpdate":4,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFrontScontainerDetailsReturnsContainerWithLanguage":3,"Tests\\Unit\\front\\Controllers\\ShopCouponControllerTest::testConstructorAcceptsRepository":4,"Tests\\Unit\\front\\Controllers\\ShopCouponControllerTest::testHasMainActionMethods":4,"Tests\\Unit\\front\\Controllers\\ShopCouponControllerTest::testConstructorRequiresCouponRepository":4},"times":{"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsCorrectValue":0.004,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsNullWhenProductNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testFindReturnsProductData":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUpdateQuantitySuccess":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsPromoPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularWhenPromoIsHigher":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsProductName":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsInteger":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveReturnsBool":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveReturnsBool":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorAcceptsRepository":0.005,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasUnarchiveMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testUnarchiveMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorRequiresProductRepository":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsBannerWithTranslations":0.001,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testDeleteReturnsTrue":0.002,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveInsertsNewBanner":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithRedis":0.001,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheRedisUnavailable":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithoutRedis":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheReturnStructure":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testCanBeInstantiated":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasSaveSettingsMethod":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasGetSettingsMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheAjaxMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasViewMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testIsNotAbstract":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testCanCreateController":0.005,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasEditMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testEditMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorAcceptsRepository":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorRequiresArticleRepository":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsArticleWithRelations":0.005,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsNullWhenArticleDoesNotExist":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedFilesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedImagesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveCreatesNewArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveReturnsZeroWhenInsertFails":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveUpdatesExistingArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsInsertsForNewArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsUpsertsForExistingArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSavePagesForNewArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveDeletesMarkedImagesOnUpdate":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArchiveSetsStatusToMinusOne":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArchiveReturnsFalseWhenUpdateFails":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveGalleryOrderUpdatesImageOrder":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveGalleryOrderSkipsEmptyValues":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasBrowseListMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasGalleryOrderSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testBrowseListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testGalleryOrderSaveMethodReturnType":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testListForAdminUsesBoundParamsForTitleFilter":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveWithLegacyFormat":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveUpdatesExistingTranslationsByBannerAndLang":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testListForAdminIncludesThumbnailSrc":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testRestoreSetsStatusToZero":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeletePermanentlyRemovesArticleAndRelations":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testListArchivedForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testFindReturnsUnitWithTranslations":0.001,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testFindReturnsNullWhenUnitNotFound":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testSaveInsertsNewUnitAndTranslationsForStringLanguageId":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testDeleteRemovesUnitAndTranslations":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testGetUnitNameByIdReturnsTextFromDatabase":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testGetUnitNameByIdSupportsStringLanguageId":0,"Tests\\Unit\\Domain\\Dictionaries\\DictionariesRepositoryTest::testAllUnitsReturnsArrayIndexedById":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testLanguageDetailsReturnsArrayOrNull":0.001,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testLanguagesListReturnsArray":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testSaveLanguageRejectsInvalidLanguageId":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testSaveTranslationInsertsNewTranslationAndReturnsId":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDeleteTranslationReturnsBoolean":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testListForAdminReturnsItemsAndTotal":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageIdReturnsLanguageWithStartFlag":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageIdFallsBackToFirstLanguageOrPl":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testFindReturnsLayoutWithRelations":0.001,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testDeleteReturnsFalseWhenOnlyOneLayoutExists":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testFindReturnsDefaultLayoutWhenRecordDoesNotExist":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testSaveInsertsNewLayoutAndReturnsId":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testListAllReturnsArray":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testTemplateDetailsReturnsNullForInvalidId":0.003,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testTemplateDetailsReturnsArray":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testSaveSettingsUpdatesHeaderAndFooter":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testDeleteTemplateReturnsFalseForAdminTemplate":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testTemplateByNameReturnsText":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFindReturnsDefaultContainerForInvalidId":0.001,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFindReturnsContainerWithTranslations":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testDetailsForLanguageReturnsNullForInvalidData":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testFindReturnsUserWhenExists":0.001,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testCheckLoginReturnsErrorWhenLoginIsTaken":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testCheckLoginReturnsOkWhenAvailable":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForTooShortPasswordOnCreate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForMismatchedPasswordsOnCreate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveCreatesUserWithNormalizedSwitches":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveUpdatesExistingUserWithPassword":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveUpdatesExistingUserWithoutPassword":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForTooShortPasswordOnUpdate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSaveReturnsErrorForMismatchedPasswordsOnUpdate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDeleteReturnsTrue":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDeleteReturnsFalseOnFailure":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDetailsReturnsUserByLogin":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testDetailsReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testLogonReturnsSuccessForValidCredentials":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testLogonReturnsZeroForNonexistentUser":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testLogonReturnsNegativeOneForBlockedUser":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsFalseForNonexistentUser":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsFalseAfterMaxAttempts":0.081,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsFalseForExpiredCode":0.082,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testVerifyTwofaCodeReturnsTrueForValidCode":0.163,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSendTwofaCodeReturnsFalseWhen2FADisabled":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testSendTwofaCodeReturnsFalseForInvalidEmail":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testUpdateByIdCallsDbUpdate":0,"Tests\\Unit\\Domain\\User\\UserRepositoryTest::testListForAdminReturnsItemsAndTotal":0,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ArticlesArchiveControllerTest::testConstructorRequiresArticleRepository":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testConstructorAcceptsRepository":0.003,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasEditMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testHasDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\DictionariesControllerTest::testConstructorRequiresDictionariesRepository":0,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\LanguagesControllerTest::testConstructorRequiresLanguagesRepository":0,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\LayoutsControllerTest::testConstructorRequiresLayoutsRepository":0,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testConstructorAcceptsDependencies":0.003,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\NewsletterControllerTest::testConstructorRequiresRepositoryAndRenderer":0,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testConstructorAcceptsDependencies":0.001,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ScontainersControllerTest::testConstructorRequiresRepositoryAndLanguagesRepository":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasViewListMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasUserEditMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasUserSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasUserDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasTwofaMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testHasLoginFormMethod":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testConstructorRequiresUserRepository":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testNormalizeUserReturnsDefaultsForNull":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testNormalizeUserCastsTypes":0,"Tests\\Unit\\admin\\Controllers\\UsersControllerTest::testNormalizeUserHandlesPartialData":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveFilesOrderUpdatesFilesOrder":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveFilesOrderSkipsEmptyValues":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPagesSummaryForArticlesBuildsLabels":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testUpdateImageAltDelegatesToDatabase":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testMarkFileToDeleteDelegatesToDatabase":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindReturnsDefaultCouponForInvalidId":0.001,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindNormalizesCouponData":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testSaveInsertsCouponAndReturnsId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testSaveUpdatesCouponAndReturnsId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testDeleteReturnsTrueWhenDatabaseDeleteSucceeds":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testCategoriesTreeReturnsHierarchy":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetSettingsReturnsArray":0.002,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetSettingReturnsValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetSettingReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testSaveSettingUpdatesExistingValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testSaveSettingInsertsNewValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testInvalidProviderThrowsException":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testLinkProductUpdatesDatabase":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testUnlinkProductClearsFields":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetProductSkuReturnsValue":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testGetProductSkuReturnsNullForMissing":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloGetAccessTokenReturnsNullWithoutSettings":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloFetchListThrowsForInvalidType":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testAllPublicMethodsExist":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testSettingsTableMapping":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testShopproProviderWorks":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testMenusListReturnsArray":0.002,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testMenuDeleteReturnsFalseWhenMenuHasPages":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testGenerateSeoLinkAddsSuffixWhenBaseSlugExists":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testPageUrlPreviewBuildsLanguagePrefixedUrlForNonDefaultLanguage":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testFindReturnsDefaultPromotionForInvalidId":0.001,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testSaveInsertsPromotionAndReturnsId":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testDeleteReturnsTrueWhenDatabaseDeleteSucceeds":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testCategoriesTreeReturnsHierarchy":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasImageAltChangeMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasFileNameChangeMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasImageDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasFileDeleteMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testImageAltChangeMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testFileNameChangeMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testImageDeleteMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testFileDeleteMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testConstructorAcceptsDependencies":0.004,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testConstructorRequiresRepository":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllApiloSettingsMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllApiloDataFetchMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllApiloProductMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testHasAllShopproMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testApiloSettingsReturnsString":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testShopproSettingsReturnsString":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testVoidReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testDoesNotHaveSellasistMethods":0,"Tests\\Unit\\admin\\Controllers\\IntegrationsControllerTest::testDoesNotHaveBaselinkerMethods":0,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testConstructorAcceptsRepositories":0.001,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\PagesControllerTest::testConstructorRequiresPagesLanguagesAndLayoutsRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopCouponControllerTest::testConstructorRequiresCouponRepository":0,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopPromotionControllerTest::testConstructorRequiresPromotionRepository":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindReturnsNullForNegativeId":0.001,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindReturnsStatusWithIdZero":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testFindNormalizesNullApiloStatusId":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveUpdatesColorAndApiloStatusId":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveWithIdZeroWorks":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveWithEmptyApiloStatusIdSetsNull":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testSaveRejectsNegativeId":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetApiloStatusIdReturnsValue":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetApiloStatusIdReturnsNullWhenNotSet":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetByIntegrationStatusIdForApilo":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testGetByIntegrationStatusIdReturnsNullForUnknownIntegration":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testAllStatusesReturnsOrderedList":0,"Tests\\Unit\\Domain\\ShopStatus\\ShopStatusRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopStatusesControllerTest::testConstructorRequiresShopStatusRepository":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testShouldRefreshAccessTokenReturnsFalseForFarFutureDate":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testShouldRefreshAccessTokenReturnsTrueForNearExpiryDate":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloFetchListResultReturnsDetailedErrorWhenConfigMissing":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testApiloIntegrationStatusReturnsMissingConfigMessage":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testNormalizeApiloMapListRejectsErrorPayload":0,"Tests\\Unit\\Domain\\Integrations\\IntegrationsRepositoryTest::testNormalizeApiloMapListAcceptsIdNameList":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindReturnsNullForInvalidId":0.001,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindNormalizesData":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testSaveUpdatesRowAndReturnsId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testSavePreservesNonNumericApiloPaymentTypeId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testSaveReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testListForAdminWhitelistsSortAndDirection":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testAllActiveReturnsNormalizedRows":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testAllForAdminReturnsRowsIncludingInactive":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindActiveByIdReturnsNullForNotFound":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindKeepsNonNumericApiloPaymentTypeId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testIsActiveNormalizesStatusValue":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testGetApiloPaymentTypeIdHandlesNullAndInt":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testGetApiloPaymentTypeIdReturnsStringForNonNumericValue":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testForTransportReturnsRows":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindReturnsNullForInvalidId":0.001,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindNormalizesDataAndIncludesPaymentMethods":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindHandlesNullMaxWpAndApiloId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveInsertReturnsNewId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveUpdateReturnsExistingId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveInsertReturnsNullOnFailure":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveResetsDefaultWhenSettingNew":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testSaveSwitchValuesNormalization":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testListForAdminWhitelistsSortColumn":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testAllActiveReturnsNormalizedRows":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testGetApiloCarrierAccountIdReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testGetApiloCarrierAccountIdReturnsIntOrNull":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testGetTransportCostReturnsFloatOrNull":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testAllForAdminReturnsAllTransports":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopPaymentMethodControllerTest::testConstructorRequiresPaymentMethodRepository":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopTransportControllerTest::testConstructorRequiresBothRepositories":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFindAttributeReturnsDefaultAttributeForInvalidId":0.002,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testListForAdminWhitelistsSortDirectionAndPerPage":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testSaveValuesRemovesObsoleteRowsAndSetsDefault":0.001,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testSaveValuesDeletesTranslationWhenNameIsEmpty":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testGetAttributeValueByIdUsesDefaultLanguageWhenNotProvided":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSortTypesReturnsExpectedKeys":0.001,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDetailsReturnsDefaultForInvalidId":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDetailsLoadsTranslations":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveCategoriesOrderReturnsFalseForNonArray":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveCategoriesOrderUpdatesOrderAndParent":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveProductOrderReturnsFalseForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testSaveProductOrderUpdatesCategoryProductOrder":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDeleteReturnsFalseWhenHasChildren":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryDeleteReturnsTrueWhenDeleted":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryTitleReturnsEmptyWhenNotFound":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryTitleReturnsFirstAvailableTitle":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testListForAdminWhitelistsSortAndPagination":0.001,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testOrdersForClientReturnsEmptyOnMissingInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testOrdersForClientNormalizesRows":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testTotalsForClientReturnsZeroForMissingInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testTotalsForClientReturnsAggregatedValues":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testConstructorAcceptsDb":0.001,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testHasAllPublicMethods":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testSalesGridReturnsArray":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testLastOrdersReturnsArray":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testMostViewedProductsReturnsArray":0,"Tests\\Unit\\Domain\\Dashboard\\DashboardRepositoryTest::testBestSalesProductsReturnsArray":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageReturnsId":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testDefaultLanguageReturnsFallbackWhenEmpty":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testActiveLanguagesReturnsList":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testActiveLanguagesReturnsEmptyArrayWhenNone":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testTranslationsReturnsArray":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testTranslationsDefaultsToPl":0,"Tests\\Unit\\Domain\\Languages\\LanguagesRepositoryTest::testTranslationsForDifferentLanguage":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testUnsubscribeReturnsFalseForInvalidHash":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testUnsubscribeDeletesSubscriber":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testConfirmSubscriptionReturnsFalseForInvalidHash":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testConfirmSubscriptionUpdatesStatus":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testGetHashByEmailReturnsHash":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testGetHashByEmailReturnsNullForMissing":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testRemoveByEmailDeletesSubscriber":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testRemoveByEmailReturnsFalseForMissing":0,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testSignupReturnsFalseForExistingEmail":0.001,"Tests\\Unit\\Domain\\Newsletter\\NewsletterRepositoryTest::testConstructorAcceptsOptionalDependencies":0.003,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testOrderStatusesReturnsMappedArray":0.002,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testNextAndPrevOrderIdReturnNullForInvalidInput":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testListForAdminReturnsItemsAndTotal":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindReturnsDefaultProducerForInvalidId":0.001,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindNormalizesProducerData":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testSaveInsertsNewProducer":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testSaveUpdatesExistingProducer":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testDeleteReturnsTrueOnSuccess":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testListForAdminWhitelistsSortAndPagination":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testAllProducersReturnsFormattedList":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testProducerProductsReturnsPaginatedResults":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testFindReturnsDefaultSetForInvalidId":0.001,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testFindNormalizesSetData":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testSaveInsertsNewSetAndSyncsProducts":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testSaveUpdatesExistingSet":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testListForAdminWhitelistsSortAndPagination":0,"Tests\\Unit\\Domain\\ProductSet\\ProductSetRepositoryTest::testAllSetsReturnsFormattedList":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testAllProductsForMassEditReturnsMap":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testAllProductsForMassEditEmptyWhenNoProducts":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetProductsByCategoryReturnsList":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetProductsByCategoryReturnsEmptyArray":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testApplyDiscountPercentReturnsNullForInvalidProduct":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testApplyDiscountPercentReturnsCorrectPrices":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testApplyDiscountPercentZeroPercentNullsPromo":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testAllSettingsReturnsAssociativeArray":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testAllSettingsReturnsEmptyArrayWhenNoSettings":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testAllSettingsHandlesNullFromDb":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testGetSingleValueReturnsCorrectParam":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testGetSingleValueUsesParamNotHardcoded":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testGetSingleValueReturnsEmptyStringWhenNotFound":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testConstructorAcceptsDb":0.001,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testHasUpdateMethod":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testUpdateReturnsArray":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testHasRunPendingMigrationsMethod":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testRunPendingMigrationsWithNoResults":0,"Tests\\Unit\\Domain\\Update\\UpdateRepositoryTest::testHasPrivateHelperMethods":0,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testHasMainViewMethod":0,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testMainViewReturnsString":0,"Tests\\Unit\\admin\\Controllers\\DashboardControllerTest::testConstructorRequiresRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testHasNoLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testConstructorRequiresBothRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testValidateValuesRowsReturnsErrorsForMissingDefaultLanguageAndDefaultSelection":0,"Tests\\Unit\\admin\\Controllers\\ShopAttributeControllerTest::testValidateValuesRowsReturnsEmptyArrayForValidRows":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testConstructorAcceptsDependencies":0.002,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testHasExpectedActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testViewActionsReturnString":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testMutationActionsReturnVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopCategoryControllerTest::testConstructorRequiresCategoryAndLanguagesRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopClientsControllerTest::testConstructorRequiresClientRepository":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testConstructorAcceptsService":0.002,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testHasExpectedActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testViewActionsReturnString":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testMutationActionsReturnVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopOrderControllerTest::testConstructorRequiresOrderAdminService":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopProducerControllerTest::testConstructorRequiresBothRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testConstructorAcceptsRepositories":0.002,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasMassEditActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasViewListMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasEditAndSaveMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasOperationMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasCombinationMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasImageAndFileMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testMassEditReturnsString":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testMassEditSaveReturnsVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testGetProductsByCategoryReturnsVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testConstructorRequiresRepositories":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testHasFormBuildingHelpers":0,"Tests\\Unit\\admin\\Controllers\\ShopProductControllerTest::testSaveMethodReturnsVoid":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testHasLegacyAliasMethods":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ShopProductSetsControllerTest::testConstructorRequiresProductSetRepository":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testHasMainViewMethod":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testMainViewReturnsString":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testHasUpdateMethod":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testHasUpdateAllMethod":0,"Tests\\Unit\\admin\\Controllers\\UpdateControllerTest::testConstructorRequiresRepository":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleDetailsFrontendReturnsArticleWithRelations":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleDetailsFrontendReturnsNullForMissing":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleDetailsFrontendCopyFromFallback":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticlesIdsReturnsSortedIds":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticlesIdsReturnsNullForEmpty":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPageArticlesCountReturnsInt":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPageArticlesCountReturnsZeroForEmpty":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testPageArticlesPagination":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleNoindexReturnsBool":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArticleNoindexReturnsFalseForNonNoindex":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testNewsReturnsArticlesArray":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testTopArticlesOrderByViews":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testNewsListArticlesOrderByDateDesc":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testBannersReturnsActiveBannersWithFlatLanguages":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testBannersReturnsNullWhenNoBanners":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testMainBannerReturnsActiveBannerWithFlatLanguages":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testMainBannerReturnsNullWhenNoBanner":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testCategoryDefaultLayoutIdReturnsId":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testCategoryDefaultLayoutIdReturnsNullWhenNone":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetDefaultLayoutReturnsLayoutFromDb":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetDefaultLayoutReturnsNullWhenNoLayout":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetArticleLayoutReturnsLayoutFromDb":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetArticleLayoutReturnsNullWhenNoLayout":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetActiveLayoutFallsBackToDefault":0,"Tests\\Unit\\Domain\\Layouts\\LayoutsRepositoryTest::testGetActiveLayoutReturnsNullWhenNothingFound":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontPageDetailsReturnsPageWithLanguage":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontPageDetailsReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMainPageIdReturnsStartPage":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMainPageIdFallsBackToFirstActive":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontPageSortReturnsValue":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMenuDetailsReturnsMenuWithPages":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMenuDetailsReturnsNullForInvalidMenu":0,"Tests\\Unit\\Domain\\Pages\\PagesRepositoryTest::testFrontMenuPagesReturnsEmptyForNoPages":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFrontScontainerDetailsReturnsContainerWithLanguage":0,"Tests\\Unit\\Domain\\Scontainers\\ScontainersRepositoryTest::testFrontScontainerDetailsReturnsFallbackForNotFound":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontAttributeDetailsReturnsAttributeWithLanguage":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontAttributeDetailsReturnsFallbackForNotFound":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontValueDetailsReturnsValueWithLanguage":0,"Tests\\Unit\\Domain\\Attribute\\AttributeRepositoryTest::testFrontValueDetailsReturnsFallbackForNotFound":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testSummaryWpCalculatesTotal":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testSummaryWpReturnsZeroForEmptyBasket":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsSumsQuantities":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsReturnsZeroForEmptyBasket":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextSingular":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextPlural2to4":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextPlural5Plus":0,"Tests\\Unit\\Domain\\Basket\\BasketCalculatorTest::testCountProductsTextCastsToInt":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testGetCategorySortReturnsZeroForInvalidId":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testGetCategorySortReturnsSortType":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryNameReturnsEmptyForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryNameReturnsTitle":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryNameReturnsEmptyWhenNotFound":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testFrontCategoryDetailsReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testFrontCategoryDetailsReturnsCategoryWithLanguage":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testFrontCategoryDetailsReturnsEmptyWhenCategoryNotFound":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoriesTreeReturnsEmptyWhenNoCategories":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryProductsCountReturnsZeroForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testCategoryProductsCountReturnsCount":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testProductsIdReturnsEmptyForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testProductsIdReturnsProductIds":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testBlogCategoryProductsReturnsEmptyForInvalidInput":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testBlogCategoryProductsReturnsIds":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testPaginatedCategoryProductsReturnsEmptyWhenNoProducts":0,"Tests\\Unit\\Domain\\Category\\CategoryRepositoryTest::testPaginatedCategoryProductsClampsPage":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientDetailsReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientDetailsReturnsRowOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientDetailsReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientEmailReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientEmailReturnsStringOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientEmailReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientAddressesReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientAddressesReturnsRows":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientAddressesHandlesFalseFromDb":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDetailsReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDetailsReturnsRow":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDeleteReturnsFalseForInvalidId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressDeleteReturnsTrueOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressSaveReturnsFalseForInvalidClientId":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressSaveInsertsNewAddress":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAddressSaveUpdatesExistingAddress":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testMarkAddressAsCurrentReturnsFalseForInvalidIds":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testMarkAddressAsCurrentResetsAndSets":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsErrorOnEmptyInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsErrorWhenClientNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsInactiveForUnconfirmedAccount":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsErrorOnWrongPassword":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testAuthenticateReturnsOkOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testCreateClientReturnsNullOnEmptyInput":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testCreateClientReturnsNullWhenEmailTaken":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testCreateClientReturnsIdAndHashOnSuccess":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testConfirmRegistrationReturnsNullOnEmptyHash":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testConfirmRegistrationReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testConfirmRegistrationActivatesAndReturnsEmail":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testGenerateNewPasswordReturnsNullOnEmptyHash":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testGenerateNewPasswordReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testGenerateNewPasswordReturnsEmailAndPassword":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testInitiatePasswordRecoveryReturnsNullOnEmptyEmail":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testInitiatePasswordRecoveryReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testInitiatePasswordRecoverySetsRecoveryFlagAndReturnsHash":0,"Tests\\Unit\\Domain\\Client\\ClientRepositoryTest::testClientOrdersReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindByNameReturnsObjectWhenFound":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindByNameReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testFindByNameReturnsNullForEmptyName":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIsAvailableReturnsTrueForActiveCoupon":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIsAvailableReturnsFalseForUsedCoupon":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIsAvailableReturnsFalseForInactiveCoupon":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIsAvailableReturnsFalseForNullCoupon":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIsAvailableWorksWithArray":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testMarkAsUsedCallsUpdate":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testMarkAsUsedSkipsInvalidId":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIncrementUsedCountCallsUpdate":0,"Tests\\Unit\\Domain\\Coupon\\CouponRepositoryTest::testIncrementUsedCountSkipsInvalidId":0,"Tests\\Unit\\front\\Controllers\\ShopCouponControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\front\\Controllers\\ShopCouponControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\front\\Controllers\\ShopCouponControllerTest::testConstructorRequiresCouponRepository":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testFindIdByHashReturnsIdWhenFound":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testFindIdByHashReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testFindIdByHashReturnsNullForEmptyHash":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testFindHashByIdReturnsHashWhenFound":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testFindHashByIdReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testOrderDetailsFrontendByIdReturnsArrayWithProducts":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testOrderDetailsFrontendByHashReturnsArrayWithProducts":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testOrderDetailsFrontendReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testGenerateOrderNumberFormatsCorrectly":0,"Tests\\Unit\\Domain\\Order\\OrderRepositoryTest::testGenerateOrderNumberStartsAt001":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testAllActiveProducersReturnsFullData":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testAllActiveProducersReturnsEmptyOnNull":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindForFrontendReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindForFrontendReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Producer\\ProducerRepositoryTest::testFindForFrontendReturnsProducerWithLanguage":0,"Tests\\Unit\\front\\Controllers\\ShopOrderControllerTest::testConstructorAcceptsRepository":0.002,"Tests\\Unit\\front\\Controllers\\ShopOrderControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\front\\Controllers\\ShopOrderControllerTest::testConstructorRequiresOrderRepository":0,"Tests\\Unit\\front\\Controllers\\ShopProducerControllerTest::testConstructorAcceptsRepository":0,"Tests\\Unit\\front\\Controllers\\ShopProducerControllerTest::testHasMainActionMethods":0,"Tests\\Unit\\front\\Controllers\\ShopProducerControllerTest::testConstructorRequiresProducerRepository":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testIsActiveReturnsOneForActivePayment":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testIsActiveReturnsZeroForInvalidId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindActiveByIdReturnsNormalizedData":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testFindActiveByIdReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testAllActiveReturnsEmptyOnNull":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testGetApiloPaymentTypeIdReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\PaymentMethod\\PaymentMethodRepositoryTest::testForTransportReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetSkuWithFallbackReturnsSku":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetSkuWithFallbackFromParent":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetSkuWithFallbackReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetEanWithFallbackReturnsEan":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetEanWithFallbackFromParent":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testIsProductActiveCachedReturnsOneForActive":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testIsProductActiveCachedReturnsZeroForInactive":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testIsProductActiveCachedReturnsZeroForInvalidId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testProductCategoriesFrontReturnsCategories":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testProductCategoriesFrontUsesParentId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testProductCategoriesFrontReturnsEmptyForInvalidId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetWarehouseMessageZeroReturnsMessage":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetWarehouseMessageZeroReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetWarehouseMessageNonzeroReturnsMessage":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetWarehouseMessageNonzeroReturnsNullForInvalidId":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testTopProductIdsReturnsActiveProducts":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testNewProductIdsReturnsProductIds":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testNewProductIdsReturnsEmptyWhenNoProducts":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testPromotedProductIdsCachedReturnsIds":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testPromotedProductIdsCachedReturnsEmptyWhenNone":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testApplyTypeWholeBasketAppliesDiscountToAll":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testApplyTypeCategoriesOrAppliesDiscountToMatchingCategories":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testApplyTypeCategoryConditionAppliesWhenConditionMet":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testApplyTypeCategoryConditionNoDiscountWhenConditionNotMet":0,"Tests\\Unit\\Domain\\Promotion\\PromotionRepositoryTest::testApplyTypeCategoriesAndAppliesWhenBothConditionsMet":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testTransportCostCachedReturnsCost":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindActiveByIdCachedReturnsTransport":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testFindActiveByIdCachedReturnsNullForInvalid":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testForPaymentMethodReturnsTransports":0,"Tests\\Unit\\Domain\\Transport\\TransportRepositoryTest::testForPaymentMethodReturnsEmptyForInvalidId":0}} \ No newline at end of file diff --git a/temp/update_build/ver_0.290.zip b/temp/update_build/ver_0.290.zip new file mode 100644 index 0000000000000000000000000000000000000000..3577bf8c454d34e86f96d4bb19778abdacc38952 GIT binary patch literal 36607 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 literal 0 HcmV?d00001 diff --git a/temp/update_build/ver_0.290_files.txt b/temp/update_build/ver_0.290_files.txt new file mode 100644 index 0000000..5c689ac --- /dev/null +++ b/temp/update_build/ver_0.290_files.txt @@ -0,0 +1,5 @@ +F: ../autoload/front/controls/class.ShopCoupon.php +F: ../autoload/front/factory/class.ShopCoupon.php +F: ../autoload/front/controls/class.ShopOrder.php +F: ../autoload/front/factory/class.ShopOrder.php +F: ../autoload/front/view/class.ShopOrder.php diff --git a/temp/update_build/ver_0.291.zip b/temp/update_build/ver_0.291.zip new file mode 100644 index 0000000000000000000000000000000000000000..ca67eaa5788ee65178ac3bf0c8173a93d63148c7 GIT binary patch literal 9105 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 literal 0 HcmV?d00001 diff --git a/temp/update_build/ver_0.291_files.txt b/temp/update_build/ver_0.291_files.txt new file mode 100644 index 0000000..715550b --- /dev/null +++ b/temp/update_build/ver_0.291_files.txt @@ -0,0 +1,2 @@ +F: ../autoload/front/controls/class.ShopProducer.php +F: ../autoload/shop/class.Producer.php