diff options
author | François Freitag <mail@franek.fr> | 2021-05-16 17:56:50 +0200 |
---|---|---|
committer | François Freitag <mail@franek.fr> | 2021-06-05 11:22:25 +0200 |
commit | 70edda034201b9d7c3d38bb714dfb35324b2841c (patch) | |
tree | 7dbdc91f8b99d82c1e805d657c8fcbafce7a0ece /apps/dav/templates | |
parent | 46dbc8fa988176e4a431cafcbae6674fb613c899 (diff) | |
download | nextcloud-server-70edda034201b9d7c3d38bb714dfb35324b2841c.tar.gz nextcloud-server-70edda034201b9d7c3d38bb714dfb35324b2841c.zip |
Port dav calendar settings page to Vue.js
- Drop reliance on deprecated global jQuery object.
- Allow testing user interactions.
- Use newer technology stack.
---
Test user interactions with the groupware dav settings
Add infrastructure to test Vue components:
- Use recommended libraries:
- https://vuejs.org/v2/guide/testing.html#Recommendations
- Use jest-dom for robust assertions on the DOM state
- Use user-event to be more representative of user actions
- Code is transpiled by Jest, with the help of vue-jest.
Ignore test files for no-unpublished-import. Prevent ESLint from
flagging:
```
/home/runner/work/server/server/apps/dav/src/views/CalDavSettings.spec.js
Error: 1:24 error "@testing-library/vue" is not published node/no-unpublished-import
Error: 2:23 error "@testing-library/user-event" is not published node/no-unpublished-import
```
Signed-off-by: François Freitag <mail@franek.fr>
Diffstat (limited to 'apps/dav/templates')
-rw-r--r-- | apps/dav/templates/settings-admin-caldav.php | 77 |
1 files changed, 3 insertions, 74 deletions
diff --git a/apps/dav/templates/settings-admin-caldav.php b/apps/dav/templates/settings-admin-caldav.php index 75d44c23a38..3a67f21a9cc 100644 --- a/apps/dav/templates/settings-admin-caldav.php +++ b/apps/dav/templates/settings-admin-caldav.php @@ -3,6 +3,7 @@ * @copyright 2017, Georg Ehrke <oc.list@georgehrke.com> * * @author Georg Ehrke <oc.list@georgehrke.com> + * @author François Freitag <mail@franek.fr> * * @license GNU AGPL version 3 or any later version * @@ -23,78 +24,6 @@ script('dav', 'settings-admin-caldav'); -/** @var \OCP\IL10N $l */ -/** @var array $_ */ ?> -<form id="CalDAV" class="section"> - <h2><?php p($l->t('Calendar server')); ?></h2> - <p class="settings-hint"> - <?php print_unescaped(str_replace( - [ - '{calendarappstoreopen}', - '{calendardocopen}', - '{linkclose}', - ], - [ - '<a target="_blank" href="../apps/office/calendar">', - '<a target="_blank" href="' . link_to_docs('user-sync-calendars') . '" rel="noreferrer noopener">', - '</a>', - ], - $l->t('Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.') - )); ?> - </p> - <p> - <input type="checkbox" name="caldav_send_invitations" id="caldavSendInvitations" class="checkbox" - <?php ($_['send_invitations'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/> - <label for="caldavSendInvitations"><?php p($l->t('Send invitations to attendees')); ?></label> - <br> - <em> - <?php print_unescaped(str_replace( - [ - '{emailopen}', - '{linkclose}', - ], - [ - '<a href="../admin#mail_general_settings">', - '</a>', - ], - $l->t('Please make sure to properly set up {emailopen}the email server{linkclose}.') - )); ?> - </em> - </p> - <p> - <input type="checkbox" name="caldav_generate_birthday_calendar" id="caldavGenerateBirthdayCalendar" class="checkbox" - <?php ($_['generate_birthday_calendar'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/> - <label for="caldavGenerateBirthdayCalendar"><?php p($l->t('Automatically generate a birthday calendar')); ?></label> - <br> - <em><?php p($l->t('Birthday calendars will be generated by a background job.')); ?></em><br> - <em><?php p($l->t('Hence they will not be available immediately after enabling but will show up after some time.')); ?></em> - </p> - <p> - <input type="checkbox" name="caldav_send_reminders_notifications" id="caldavSendRemindersNotifications" class="checkbox" - <?php ($_['send_reminders_notifications'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/> - <label for="caldavSendRemindersNotifications"><?php p($l->t('Send notifications for events')); ?></label> - <br> - <em> - <?php print_unescaped(str_replace( - [ - '{emailopen}', - '{linkclose}', - ], - [ - '<a href="../admin#mail_general_settings">', - '</a>', - ], - $l->t('Please make sure to properly set up {emailopen}the email server{linkclose}.') - )); ?> - </em> - <br> - <em><?php p($l->t('Notifications are sent via background jobs, so these must occur often enough.')); ?></em> - </p> - <p> - <input type="checkbox" name="caldav_send_reminders_notifications_push" id="caldavSendRemindersNotificationsPush" class="checkbox" - <?php ($_['send_reminders_notifications_push'] === 'yes') ? print_unescaped('checked="checked"') : null ?> - <?php ($_['send_reminders_notifications'] === 'yes') ? null : print_unescaped('disabled="disabled"') ?> /> - <label for="caldavSendRemindersNotificationsPush"><?php p($l->t('Enable notifications for events via push')); ?></label> - </p> -</form> + +<div id="settings-admin-caldav"></div> |