summaryrefslogtreecommitdiffstats
path: root/js/dav/test/integration/calendars_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dav/test/integration/calendars_test.js')
-rw-r--r--js/dav/test/integration/calendars_test.js239
1 files changed, 0 insertions, 239 deletions
diff --git a/js/dav/test/integration/calendars_test.js b/js/dav/test/integration/calendars_test.js
deleted file mode 100644
index fddfd04e..00000000
--- a/js/dav/test/integration/calendars_test.js
+++ /dev/null
@@ -1,239 +0,0 @@
-import { assert } from 'chai';
-import co from 'co';
-
-import data from './data';
-import * as dav from '../../lib';
-
-let debug = require('../../lib/debug')('dav:calendars_test');
-
-suite('calendars', function() {
- let calendars, xhr;
-
- setup(co.wrap(function *() {
- debug('Create account.');
- xhr = new dav.transport.Basic(
- new dav.Credentials({
- username: 'admin',
- password: 'admin'
- })
- );
-
- let account = yield dav.createAccount({
- server: 'http://127.0.0.1:8888/',
- xhr: xhr,
- loadObjects: true
- });
-
- let calendar = account.calendars[0];
- let objects = calendar.objects;
- assert.isArray(objects);
- assert.lengthOf(objects, 0, 'initially 0 calendar objects');
- debug('Create calendar object.');
- yield dav.createCalendarObject(calendar, {
- filename: 'test.ics',
- data: data.bastilleDayParty,
- xhr: xhr
- });
-
- let synced = yield dav.syncCaldavAccount(account, { xhr: xhr });
- calendars = synced.calendars;
- }));
-
- test('#createCalendarObject', function() {
- let calendar = calendars[0];
- let objects = calendar.objects;
- assert.isArray(objects);
- assert.lengthOf(objects, 1);
- let object = objects[0];
- assert.instanceOf(object, dav.CalendarObject);
- assert.instanceOf(object.calendar, dav.Calendar);
- assert.strictEqual(object.calendarData, data.bastilleDayParty);
- assert.strictEqual(
- object.url,
- 'http://127.0.0.1:8888/calendars/admin/default/test.ics'
- );
- });
-
- test('#updateCalendarObject, #sync', co.wrap(function *() {
- let calendar = calendars[0];
- let object = calendar.objects[0];
- object.calendarData = object.calendarData.replace(
- 'SUMMARY:Bastille Day Party',
- 'SUMMARY:Happy Hour'
- );
-
- yield dav.updateCalendarObject(object, { xhr: xhr });
- calendar = yield dav.syncCalendar(calendar, {
- syncMethod: 'basic',
- xhr: xhr
- });
-
- let objects = calendar.objects;
- assert.isArray(objects);
- assert.lengthOf(objects, 1, 'update should not create new object');
- object = objects[0];
- assert.instanceOf(object, dav.CalendarObject);
- assert.instanceOf(object.calendar, dav.Calendar);
- assert.notStrictEqual(
- object.calendarData,
- data.bastilleDayParty,
- 'data should have changed on server'
- );
- assert.include(
- object.calendarData,
- 'SUMMARY:Happy Hour',
- 'data should reflect update'
- );
- assert.notInclude(
- object.calendardata,
- 'SUMMARY:Bastille Day Party',
- 'data should reflect update'
- );
- assert.strictEqual(
- object.url,
- 'http://127.0.0.1:8888/calendars/admin/default/test.ics',
- 'update should not change object url'
- );
- }));
-
- test('webdav sync', co.wrap(function *() {
- let calendar = calendars[0];
- let object = calendar.objects[0];
- object.calendarData = object.calendarData.replace(
- 'SUMMARY:Bastille Day Party',
- 'SUMMARY:Happy Hour'
- );
-
- let prevEtag = object.etag;
- assert.typeOf(prevEtag, 'string');
- assert.operator(prevEtag.length, '>', 0);
-
- let prevSyncToken = calendar.syncToken;
- assert.typeOf(prevSyncToken, 'string');
- assert.operator(prevSyncToken.length, '>', 0);
-
- yield dav.updateCalendarObject(object, { xhr: xhr });
- calendar = yield dav.syncCalendar(calendar, {
- syncMethod: 'webdav',
- xhr: xhr
- });
-
- let objects = calendar.objects;
- assert.isArray(objects);
- assert.lengthOf(objects, 1, 'update should not create new object');
-
- object = objects[0];
- assert.instanceOf(object, dav.CalendarObject);
- assert.instanceOf(object.calendar, dav.Calendar);
-
- assert.notStrictEqual(
- object.calendarData,
- data.bastilleDayParty,
- 'data should have changed on server'
- );
-
- assert.include(
- object.calendarData,
- 'SUMMARY:Happy Hour',
- 'data should reflect update'
- );
-
- assert.notInclude(
- object.calendardata,
- 'SUMMARY:Bastille Day Party',
- 'data should reflect update'
- );
-
- assert.strictEqual(
- object.url,
- 'http://127.0.0.1:8888/calendars/admin/default/test.ics',
- 'update should not change object url'
- );
-
- assert.typeOf(object.etag, 'string');
- assert.operator(object.etag.length, '>', 0);
- assert.notStrictEqual(prevEtag, object.etag, 'new etag');
-
- assert.typeOf(calendar.syncToken, 'string');
- assert.operator(calendar.syncToken.length, '>', 0);
- assert.notStrictEqual(calendar.syncToken, prevSyncToken, 'new token');
- }));
-
- test('#deleteCalendarObject', co.wrap(function *() {
- let calendar = calendars[0];
- let objects = calendar.objects;
- assert.isArray(objects);
- assert.lengthOf(objects, 1);
- let object = objects[0];
- yield dav.deleteCalendarObject(object, { xhr: xhr });
- let updated = yield dav.syncCalendar(calendar, {
- syncMethod: 'basic',
- xhr: xhr
- });
-
- objects = updated.objects;
- assert.isArray(objects);
- assert.lengthOf(objects, 0, 'should be deleted');
- }));
-
- test('time-range filtering', co.wrap(function *() {
- let account1 = yield dav.createAccount({
- server: 'http://127.0.0.1:8888/',
- loadObjects: true,
- filters: [{
- type: 'comp-filter',
- attrs: { name: 'VCALENDAR' },
- children: [{
- type: 'comp-filter',
- attrs: { name: 'VEVENT' },
- children: [{
- type: 'time-range',
- attrs: { start: '19970714T170000Z' }
- }]
- }]
- }],
- xhr: xhr
- });
-
- assert.lengthOf(account1.calendars[0].objects, 1, 'in range');
-
- let account2 = yield dav.createAccount({
- server: 'http://127.0.0.1:8888/',
- loadObjects: true,
- filters: [{
- type: 'comp-filter',
- attrs: { name: 'VCALENDAR' },
- children: [{
- type: 'comp-filter',
- attrs: { name: 'VEVENT' },
- children: [{
- type: 'time-range',
- attrs: { start: '19980714T170000Z' }
- }]
- }]
- }],
- xhr: xhr
- });
-
- assert.lengthOf(account2.calendars[0].objects, 0, 'out of range');
- }));
-
- test('#syncCaldavAccount', co.wrap(function *() {
- let account = yield dav.createAccount({
- server: 'http://127.0.0.1:8888/',
- xhr: xhr,
- accountType: 'caldav',
- loadCollections: false
- });
- assert.instanceOf(account, dav.Account);
- assert.notOk(account.calendars);
-
- account = yield dav.syncCaldavAccount(account, { xhr: xhr });
- assert.instanceOf(account, dav.Account);
- assert.isArray(account.calendars);
- assert.lengthOf(account.calendars, 1);
- let calendar = account.calendars[0];
- assert.instanceOf(calendar, dav.Calendar);
- assert.strictEqual(calendar.displayName, 'default calendar');
- }));
-});