createCurrentYearPeriod(); } public function testCommandSendsMessageToSlackIfWeekday(): void { $weekDay = Carbon::create(2022, 4, 22); $this->assertTrue($weekDay->isWeekday()); $this->travelTo($weekDay); $this->artisan(SendDailySummaryToSlack::class) ->execute(); Http::assertSentCount(1); } public function testCommandDoesntSendIfWeekend(): void { $weekend = Carbon::create(2022, 4, 23); $this->assertTrue($weekend->isWeekend()); $this->travelTo($weekend); $this->artisan(SendDailySummaryToSlack::class) ->execute(); Http::assertNothingSent(); } public function testCommandDoesntSendIfHoliday(): void { $holiday = Holiday::factory(["date" => Carbon::create(2022, 4, 22)])->create(); $this->assertDatabaseHas("holidays", [ "date" => $holiday->date->toDateString(), ]); $this->travelTo(Carbon::create(2022, 4, 22)); $this->artisan(SendDailySummaryToSlack::class) ->execute(); Http::assertNothingSent(); } public function testCommandForceSendsMessageEvenIsWeekendOrHoliday(): void { $weekend = Carbon::create(2022, 4, 23); $this->assertTrue($weekend->isWeekend()); $this->travelTo($weekend); $this->artisan(SendDailySummaryToSlack::class, ["--force" => true]) ->execute(); Http::assertSentCount(1); } }