|
|
|
@ -331,6 +331,72 @@ class IMipPluginTest extends TestCase {
|
|
|
|
|
$this->assertEquals('1.0', $message->getScheduleStatus());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testAttendeeRequest(): void {
|
|
|
|
|
$message = new Message();
|
|
|
|
|
$message->method = 'REQUEST';
|
|
|
|
|
$message->sequence = 1;
|
|
|
|
|
$message->sender = 'mailto:organizer@example.com';
|
|
|
|
|
$message->senderName = 'The Organizer';
|
|
|
|
|
$message->recipient = 'mailto:attendee@example.com';
|
|
|
|
|
$message->recipientName = 'The Attendee';
|
|
|
|
|
$message->significantChange = true;
|
|
|
|
|
$message->message = new VCalendar();
|
|
|
|
|
$message->message->add('VEVENT', ['UID' => '82496785-1915-4604-a5ce-4e2091639c9a', 'SEQUENCE' => 1]);
|
|
|
|
|
$message->message->VEVENT->add('SUMMARY', 'Fellowship meeting');
|
|
|
|
|
$message->message->VEVENT->add('DTSTART', (new \DateTime('NOW'))->modify('+1 hour'));
|
|
|
|
|
$message->message->VEVENT->add('DTEND', (new \DateTime('NOW'))->modify('+2 hour'));
|
|
|
|
|
$message->message->VEVENT->add('ORGANIZER', 'mailto:organizer@example.com', ['CN' => 'The Organizer']);
|
|
|
|
|
$message->message->VEVENT->add('ATTENDEE', 'mailto:attendee@example.com', ['CN' => 'The Attendee']);
|
|
|
|
|
$this->service->expects(self::once())
|
|
|
|
|
->method('getCurrentAttendee')
|
|
|
|
|
->with($message)
|
|
|
|
|
->willReturn($message->message->VEVENT);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testAttendeeReply(): void {
|
|
|
|
|
$message = new Message();
|
|
|
|
|
$message->method = 'REPLY';
|
|
|
|
|
$message->sequence = 2;
|
|
|
|
|
$message->sender = 'mailto:attendee@example.com';
|
|
|
|
|
$message->senderName = 'The Attendee';
|
|
|
|
|
$message->recipient = 'mailto:organizer@example.com';
|
|
|
|
|
$message->recipientName = 'The Organizer';
|
|
|
|
|
$message->significantChange = true;
|
|
|
|
|
$message->message = new VCalendar();
|
|
|
|
|
$message->message->add('METHOD', 'REPLY');
|
|
|
|
|
$message->message->add('VEVENT', ['UID' => '82496785-1915-4604-a5ce-4e2091639c9a', 'SEQUENCE' => 2]);
|
|
|
|
|
$message->message->VEVENT->add('SUMMARY', 'Fellowship meeting');
|
|
|
|
|
$message->message->VEVENT->add('DTSTART', (new \DateTime('NOW'))->modify('+1 hour'));
|
|
|
|
|
$message->message->VEVENT->add('DTEND', (new \DateTime('NOW'))->modify('+2 hour'));
|
|
|
|
|
$message->message->VEVENT->add('ORGANIZER', 'mailto:organizer@example.com', ['CN' => 'The Organizer']);
|
|
|
|
|
$message->message->VEVENT->add('ATTENDEE', 'mailto:attendee@example.com', ['CN' => 'The Attendee']);
|
|
|
|
|
$this->service->expects(self::once())
|
|
|
|
|
->method('getCurrentAttendee')
|
|
|
|
|
->with($message)
|
|
|
|
|
->willReturn($message->message->VEVENT);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testAttendeeMismatch(): void {
|
|
|
|
|
$message = new Message();
|
|
|
|
|
$message->method = 'REQUEST';
|
|
|
|
|
$message->sequence = 1;
|
|
|
|
|
$message->sender = 'mailto:organizer@example.com';
|
|
|
|
|
$message->senderName = 'The Organizer';
|
|
|
|
|
$message->recipient = 'mailto:mismatch@example.com';
|
|
|
|
|
$message->recipientName = 'The Mismatch';
|
|
|
|
|
$message->significantChange = true;
|
|
|
|
|
$message->message = new VCalendar();
|
|
|
|
|
$message->message->add('VEVENT', ['UID' => '82496785-1915-4604-a5ce-4e2091639c9a', 'SEQUENCE' => 1]);
|
|
|
|
|
$message->message->VEVENT->add('SUMMARY', 'Fellowship meeting');
|
|
|
|
|
$message->message->VEVENT->add('DTSTART', (new \DateTime('NOW'))->modify('+1 hour'));
|
|
|
|
|
$message->message->VEVENT->add('DTEND', (new \DateTime('NOW'))->modify('+2 hour'));
|
|
|
|
|
$message->message->VEVENT->add('ORGANIZER', 'mailto:organizer@example.com', ['CN' => 'The Organizer']);
|
|
|
|
|
$message->message->VEVENT->add('ATTENDEE', 'mailto:attendee@example.com', ['CN' => 'The Attendee']);
|
|
|
|
|
$this->service->expects(self::once())
|
|
|
|
|
->method('getCurrentAttendee')
|
|
|
|
|
->with($message)
|
|
|
|
|
->willReturn(null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testParsingRecurrence(): void {
|
|
|
|
|
$message = new Message();
|
|
|
|
|