assertUrlIsSecured('/calendar/'); } public function testCalendarAction() { $client = $this->getClientForAuthenticatedUser(); $fixtures = new TimesheetFixtures($this->getUserByRole(), 10); $fixtures->setStartDate(new \DateTime('-6 month')); $this->importFixture($fixtures); $this->request($client, '/calendar/'); $this->assertTrue($client->getResponse()->isSuccessful()); $crawler = $client->getCrawler(); $calendar = $crawler->filter('div#timesheet_calendar'); $this->assertEquals(1, $calendar->count()); $dragAndDropBoxes = $crawler->filter('div.box-body.drag-and-drop-source'); $this->assertEquals(1, $dragAndDropBoxes->count()); } public function testCalendarActionWithGoogleSource() { $loader = new TestConfigLoader([]); $config = new SystemConfiguration($loader, $this->getDefaultSettings()); $client = $this->getClientForAuthenticatedUser(); static::$kernel->getContainer()->set(SystemConfiguration::class, $config); $this->request($client, '/calendar/'); $this->assertTrue($client->getResponse()->isSuccessful()); $crawler = $client->getCrawler(); $calendar = $crawler->filter('div#timesheet_calendar'); $this->assertEquals(1, $calendar->count()); $content = $client->getResponse()->getContent(); $this->assertStringContainsString("googleCalendarId: 'de.german#holiday@group.v.calendar.google.com',", $content); $this->assertStringContainsString("name: 'holidays'", $content); $this->assertStringContainsString("googleCalendarId: 'en.german#holiday@group.v.calendar.google.com',", $content); $this->assertStringContainsString("name: 'holidays_en'", $content); } protected function getDefaultSettings() { return [ 'defaults' => [ 'user' => [ 'language' => 'en' ], ], 'timesheet' => [ 'default_begin' => '08:30:00', 'mode' => 'default' ], 'calendar' => [ 'businessHours' => [ 'days' => [2, 4, 6], 'begin' => '07:49', 'end' => '19:27' ], 'visibleHours' => [ 'begin' => '07:49', 'end' => '19:27' ], 'day_limit' => 20, 'week_numbers' => false, 'slot_duration' => '00:15:00', 'google' => [ 'api_key' => 'wertwertwegsdfbdf243w567fg8ihuon', 'sources' => [ 'holidays' => [ 'id' => 'de.german#holiday@group.v.calendar.google.com', 'color' => '#ccc', ], 'holidays_en' => [ 'id' => 'en.german#holiday@group.v.calendar.google.com', 'color' => '#fff', ], ] ], 'weekends' => true, ], ]; } }