Skip to content

Commit e502f7c

Browse files
PazBormaHuxinator
authored andcommitted
refactor CLI DI MaintenanceTickCommand;
1 parent 3588e18 commit e502f7c

File tree

4 files changed

+13
-25
lines changed

4 files changed

+13
-25
lines changed

bin/cli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ $app->add($dic->get(UserCreateCommand::class));
5757
// tick
5858
$app->add($dic->get(ColonyTickCommand::class));
5959
$app->add($dic->get(SpacecraftTickCommand::class));
60-
$app->add(new MaintenanceTickCommand($dic));
60+
$app->add($dic->get(MaintenanceTickCommand::class));
6161
$app->add($dic->get(ProcessTickCommand::class));
6262
$app->add(new ManagerTickCommand($dic));
6363
$app->add($dic->get(PirateTickCommand::class));

src/Component/Cli/MaintenanceTickCommand.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Stu\Component\Cli;
66

77
use Ahc\Cli\Input\Command;
8-
use Psr\Container\ContainerInterface;
98
use Stu\Module\Tick\Maintenance\MaintenanceTickRunner;
109

1110
/**
@@ -14,7 +13,7 @@
1413
final class MaintenanceTickCommand extends Command
1514
{
1615
public function __construct(
17-
private ContainerInterface $dic
16+
private readonly MaintenanceTickRunner $tickRunner,
1817
) {
1918
parent::__construct(
2019
'tick:maintenance',
@@ -29,8 +28,7 @@ public function __construct(
2928

3029
public function execute(): void
3130
{
32-
$tickRunner = $this->dic->get(MaintenanceTickRunner::class);
33-
$tickRunner->run(1, 1);
31+
$this->tickRunner->run(1, 1);
3432

3533
$this->io()->ok(
3634
'Maintenance tick has been executed',

src/Module/Tick/Maintenance/MaintenanceTickRunner.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@
1313
/**
1414
* Executes maintenance tasks like db backup and such
1515
*/
16-
final class MaintenanceTickRunner implements TickRunnerInterface
16+
class MaintenanceTickRunner implements TickRunnerInterface
1717
{
1818
private const string TICK_DESCRIPTION = "maintenancetick";
1919

2020
/**
2121
* @param array<MaintenanceHandlerInterface> $handlerList
2222
*/
2323
public function __construct(
24-
private GameConfigRepositoryInterface $gameConfigRepository,
25-
private TransactionTickRunnerInterface $transactionTickRunner,
26-
private Connection $connection,
27-
private array $handlerList
24+
private readonly GameConfigRepositoryInterface $gameConfigRepository,
25+
private readonly TransactionTickRunnerInterface $transactionTickRunner,
26+
private readonly Connection $connection,
27+
private readonly array $handlerList
2828
) {
2929
}
3030

tests/unit/Component/Cli/MaintenanceTickCommandTest.php

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,29 @@
77
use Ahc\Cli\Application;
88
use Mockery\MockInterface;
99
use Override;
10-
use Psr\Container\ContainerInterface;
1110
use Stu\CliInteractorHelper;
1211
use Stu\Module\Tick\Maintenance\MaintenanceTickRunner;
13-
use Stu\Module\Tick\TickRunnerInterface;
1412
use Stu\StuTestCase;
1513

1614
class MaintenanceTickCommandTest extends StuTestCase
1715
{
18-
/** @var MockInterface&ContainerInterface */
19-
private MockInterface $dic;
16+
/** @var MockInterface&MaintenanceTickRunner */
17+
private MockInterface $tickRunner;
2018

2119
private MaintenanceTickCommand $subject;
2220

2321
#[Override]
2422
protected function setUp(): void
2523
{
26-
$this->dic = $this->mock(ContainerInterface::class);
24+
$this->tickRunner = $this->mock(MaintenanceTickRunner::class);
2725

28-
$this->subject = new MaintenanceTickCommand(
29-
$this->dic
30-
);
26+
$this->subject = new MaintenanceTickCommand($this->tickRunner);
3127
}
3228

3329
public function testExecuteExecutes(): void
3430
{
3531
$app = $this->mock(Application::class);
3632
$interactor = $this->mock(CliInteractorHelper::class);
37-
$tickRunner = $this->mock(TickRunnerInterface::class);
3833

3934
$this->subject->bind($app);
4035

@@ -50,12 +45,7 @@ public function testExecuteExecutes(): void
5045
)
5146
->once();
5247

53-
$this->dic->shouldReceive('get')
54-
->with(MaintenanceTickRunner::class)
55-
->once()
56-
->andReturn($tickRunner);
57-
58-
$tickRunner->shouldReceive('run')
48+
$this->tickRunner->shouldReceive('run')
5949
->with(1, 1)
6050
->once();
6151

0 commit comments

Comments
 (0)