fix: put the guiding fee on one guide place only

This commit is contained in:
fromme committed 2026-10-16 09:56:04 +02:00
1 parent f0ad5374e9
commit c7e0ad67e6
4 files changed
+53 -21

No files matched your search

@@ -56,14 +56,34 @@ class AssignmentPlannerTest extends TestCase
], self::summarize($planned));
}
public function testGuidingIsAFeeOnEveryGuideTypeAssignment(): void
public function testGuidingIsAFeeOnTheFirstGuideTypeAssignmentOnly(): void
{
$planned = $this->plan(self::rule(guides: 3, beginner: true, advanced: true, split: true, guiding: true));
$this->assertSame([
[StaffingRole::GUIDE, 1, null, [StaffingFee::GUIDING]],
[StaffingRole::GUIDE_SKI_BEGINNER, 1, null, [StaffingFee::COURSE]],
[StaffingRole::GUIDE_SKI_ADVANCED, 1, null, [StaffingFee::COURSE]],
], self::summarize($planned));
}
public function testGuidingSplitsOffOnePlaceWhichAlsoEscortsTheBus(): void
{
$planned = $this->plan(self::rule(guides: 3, guiding: true), self::busTravel());
$this->assertSame([
[StaffingRole::GUIDE, 1, 5, [StaffingFee::GUIDING]],
[StaffingRole::GUIDE, 2, null, []],
], self::summarize($planned));
}
public function testWithoutAPlainReiseleitungTheFirstCombinedOneGuides(): void
{
$planned = $this->plan(self::rule(guides: 2, beginner: true, advanced: true, split: true, guiding: true));
$this->assertSame([
[StaffingRole::GUIDE_SKI_BEGINNER, 1, null, [StaffingFee::GUIDING, StaffingFee::COURSE]],
[StaffingRole::GUIDE_SKI_ADVANCED, 1, null, [StaffingFee::GUIDING, StaffingFee::COURSE]],
[StaffingRole::GUIDE_SKI_ADVANCED, 1, null, [StaffingFee::COURSE]],
], self::summarize($planned));
}