generated from spatie/package-skeleton-php
-
-
Notifications
You must be signed in to change notification settings - Fork 196
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add: czech holidays * add: czechia test * remove: docblock --------- Co-authored-by: Vojtech Rerabek <vrerabek@Vojtech-Air.docsis.vodafone.cz>
- Loading branch information
Showing
3 changed files
with
114 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
<?php | ||
|
||
namespace Spatie\Holidays\Countries; | ||
|
||
use Carbon\CarbonImmutable; | ||
|
||
class Czechia extends Country | ||
{ | ||
public function countryCode(): string | ||
{ | ||
return 'cz'; | ||
} | ||
|
||
protected function allHolidays(int $year): array | ||
{ | ||
return array_merge([ | ||
'Den obnovy samostatného českého státu' => '01-01', | ||
'Svátek práce' => '05-01', | ||
'Den vítězství' => '05-08', | ||
'Den slovanských věrozvěstů Cyrila a Metoděje' => '07-05', | ||
'Den upálení mistra Jana Husa' => '07-06', | ||
'Den české státnosti' => '09-28', | ||
'Den vzniku samostatného československého státu' => '10-28', | ||
'Den boje za svobodu a demokracii a Mezinárodní den studentstva' => '11-17', | ||
'Štědrý den' => '12-24', | ||
'1. svátek vánoční' => '12-25', | ||
'2. svátek vánoční' => '12-26', | ||
], $this->variableHolidays($year)); | ||
} | ||
|
||
/** @return array<string, CarbonImmutable> */ | ||
protected function variableHolidays(int $year): array | ||
{ | ||
$easter = CarbonImmutable::createFromTimestamp(easter_date($year)) | ||
->setTimezone('Europe/Prague'); | ||
|
||
return [ | ||
'Velikonoční pondělí' => $easter->addDay(), | ||
'Velký pátek' => $easter->subDays(2), | ||
]; | ||
} | ||
} |
54 changes: 54 additions & 0 deletions
54
tests/.pest/snapshots/Countries/CzechiaTest/it_can_calculate_czech_holidays.snap
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
[ | ||
{ | ||
"name": "Den obnovy samostatn\u00e9ho \u010desk\u00e9ho st\u00e1tu", | ||
"date": "2024-01-01" | ||
}, | ||
{ | ||
"name": "Velk\u00fd p\u00e1tek", | ||
"date": "2024-03-29" | ||
}, | ||
{ | ||
"name": "Velikono\u010dn\u00ed pond\u011bl\u00ed", | ||
"date": "2024-04-01" | ||
}, | ||
{ | ||
"name": "Sv\u00e1tek pr\u00e1ce", | ||
"date": "2024-05-01" | ||
}, | ||
{ | ||
"name": "Den v\u00edt\u011bzstv\u00ed", | ||
"date": "2024-05-08" | ||
}, | ||
{ | ||
"name": "Den slovansk\u00fdch v\u011brozv\u011bst\u016f Cyrila a Metod\u011bje", | ||
"date": "2024-07-05" | ||
}, | ||
{ | ||
"name": "Den up\u00e1len\u00ed mistra Jana Husa", | ||
"date": "2024-07-06" | ||
}, | ||
{ | ||
"name": "Den \u010desk\u00e9 st\u00e1tnosti", | ||
"date": "2024-09-28" | ||
}, | ||
{ | ||
"name": "Den vzniku samostatn\u00e9ho \u010deskoslovensk\u00e9ho st\u00e1tu", | ||
"date": "2024-10-28" | ||
}, | ||
{ | ||
"name": "Den boje za svobodu a demokracii a Mezin\u00e1rodn\u00ed den studentstva", | ||
"date": "2024-11-17" | ||
}, | ||
{ | ||
"name": "\u0160t\u011bdr\u00fd den", | ||
"date": "2024-12-24" | ||
}, | ||
{ | ||
"name": "1. sv\u00e1tek v\u00e1no\u010dn\u00ed", | ||
"date": "2024-12-25" | ||
}, | ||
{ | ||
"name": "2. sv\u00e1tek v\u00e1no\u010dn\u00ed", | ||
"date": "2024-12-26" | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?php | ||
|
||
namespace Spatie\Holidays\Tests\Countries; | ||
|
||
use Carbon\CarbonImmutable; | ||
use Spatie\Holidays\Holidays; | ||
|
||
it('can calculate czech holidays', function () { | ||
CarbonImmutable::setTestNowAndTimezone('2024-01-01'); | ||
|
||
$holidays = Holidays::for(country: 'cz')->get(); | ||
|
||
expect($holidays) | ||
->toBeArray() | ||
->not()->toBeEmpty(); | ||
|
||
expect(formatDates($holidays))->toMatchSnapshot(); | ||
}); |