1313
1414namespace Ymir \Plugin \Tests \Unit \Subscriber \Compatibility ;
1515
16+ use Ymir \Plugin \CloudStorage \PrivateCloudStorageStreamWrapper ;
17+ use Ymir \Plugin \CloudStorage \PublicCloudStorageStreamWrapper ;
1618use Ymir \Plugin \Subscriber \Compatibility \WooCommerceSubscriber ;
1719use Ymir \Plugin \Tests \Mock \EventManagerMockTrait ;
1820use Ymir \Plugin \Tests \Mock \FunctionMockTrait ;
@@ -26,6 +28,25 @@ class WooCommerceSubscriberTest extends TestCase
2628 use EventManagerMockTrait;
2729 use FunctionMockTrait;
2830
31+ public function testChangeLogDirectoryWhenLogDirectoryIsAStringThatDoesntStartWithThePublicCloudStorageProtocol ()
32+ {
33+ $ logDirectory = '/var/logs ' ;
34+
35+ $ this ->assertSame ($ logDirectory , (new WooCommerceSubscriber ('https://foo.com ' ))->changeLogDirectory ($ logDirectory ));
36+ }
37+
38+ public function testChangeLogDirectoryWhenLogDirectoryIsAStringThatStartsWithThePublicCloudStorageProtocol ()
39+ {
40+ $ this ->assertSame (sprintf ('%s:///wc-logs/ ' , PrivateCloudStorageStreamWrapper::getProtocol ()), (new WooCommerceSubscriber ('https://foo.com ' ))->changeLogDirectory (sprintf ('%s:///uploads ' , PublicCloudStorageStreamWrapper::getProtocol ())));
41+ }
42+
43+ public function testChangeLogDirectoryWhenLogDirectoryIsntAString ()
44+ {
45+ $ logDirectory = 42 ;
46+
47+ $ this ->assertSame ($ logDirectory , (new WooCommerceSubscriber ('https://foo.com ' ))->changeLogDirectory ($ logDirectory ));
48+ }
49+
2950 public function testDisableCheckImportFilePath ()
3051 {
3152 $ this ->assertFalse ((new WooCommerceSubscriber ('https://foo.com ' ))->disableCheckImportFilePath ());
@@ -135,6 +156,7 @@ public function testGetSubscribedEvents()
135156 'transient_woocommerce_blocks_asset_api_script_data ' => 'fixAssetUrlPathsInCachedScriptData ' ,
136157 'transient_woocommerce_blocks_asset_api_script_data_ssl ' => 'fixAssetUrlPathsInCachedScriptData ' ,
137158 'woocommerce_csv_importer_check_import_file_path ' => 'disableCheckImportFilePath ' ,
159+ 'woocommerce_log_directory ' => 'changeLogDirectory ' ,
138160 'woocommerce_product_csv_importer_check_import_file_path ' => 'disableCheckImportFilePath ' ,
139161 'woocommerce_resize_images ' => 'disableImageResizeWithImageProcessing ' ,
140162 ];
0 commit comments