Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Angelov\Eestec\Platform\Reports\MeetingsAttendanceDetailsForMemberReport;
- class MeetingsServiceTest extends TestCase
- {
- public function testCanCalculateAttendanceDetailsForMember()
- {
- $meetings = Mockery::mock(Angelov\Eestec\Platform\Repositories\MeetingsRepositoryInterface::class);
- $member = Mockery::mock(Angelov\Eestec\Platform\Entities\Member::class);
- $member->shouldReceive('getJoiningDate')->withNoArgs()
- ->andReturn(new \Carbon\Carbon('1 month ago'));
- $meetings->shouldReceive('countAttendanceForMember')->andReturn(5);
- $meetings->shouldReceive('countMeetingsInPeriod')->andReturn(10);
- $members = Mockery::mock(Angelov\Eestec\Platform\Repositories\MembersRepositoryInterface::class);
- $membershipService = Mockery::mock(Angelov\Eestec\Platform\Services\MembershipService::class);
- $service = new \Angelov\Eestec\Platform\Services\MeetingsService($meetings, $members, $membershipService);
- $report = $service->calculateAttendanceDetailsForMember($member);
- $this->assertInstanceOf(MeetingsAttendanceDetailsForMemberReport::class, $report);
- $this->assertEquals(5, $report->getAttended());
- $this->assertEquals(5, $report->getMissed());
- $this->assertEquals(10, $report->getTotal());
- $this->assertEquals(50, $report->getRate());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement