feat: add cart:install command

This commit is contained in:
Joel Male
2026-05-27 21:42:28 +10:00
parent 0efd4378a8
commit 731aaa070d
2 changed files with 74 additions and 0 deletions
@@ -0,0 +1,33 @@
<?php
use Wearepixel\Cart\Commands\InstallCommand;
describe('InstallCommand', function () {
test('scaffoldDirectories() creates the expected subdirectories', function () {
$base = sys_get_temp_dir() . '/cart-install-' . uniqid();
InstallCommand::scaffoldDirectories($base);
expect(is_dir("{$base}/Coupons"))->toBeTrue();
expect(is_dir("{$base}/Tax"))->toBeTrue();
expect(is_dir("{$base}/Shipping"))->toBeTrue();
expect(is_dir("{$base}/Drivers"))->toBeTrue();
foreach (["{$base}/Coupons", "{$base}/Tax", "{$base}/Shipping", "{$base}/Drivers", $base] as $dir) {
@rmdir($dir);
}
});
test('scaffoldDirectories() is idempotent - does not throw if dirs already exist', function () {
$base = sys_get_temp_dir() . '/cart-install-idem-' . uniqid();
InstallCommand::scaffoldDirectories($base);
InstallCommand::scaffoldDirectories($base);
expect(is_dir("{$base}/Coupons"))->toBeTrue();
foreach (["{$base}/Coupons", "{$base}/Tax", "{$base}/Shipping", "{$base}/Drivers", $base] as $dir) {
@rmdir($dir);
}
});
});