Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
229 lines
5.5 KiB
JavaScript
Executable file
229 lines
5.5 KiB
JavaScript
Executable file
'use strict';
|
|
suite('AlarmDatabase Test Suite', function() {
|
|
|
|
var alarmDatabase;
|
|
|
|
suiteSetup(function(done) {
|
|
require(['alarm', 'alarm_database'], function(alarm, alarm_database) {
|
|
alarmDatabase = alarm_database;
|
|
done();
|
|
});
|
|
});
|
|
|
|
suite('from the string version', function() {
|
|
var alarmConversions = [
|
|
[{ normalAlarmId: 7,
|
|
snoozeAlarmId: 42,
|
|
label: 'TEST 1',
|
|
hour: 5,
|
|
minute: 3,
|
|
enabled: true,
|
|
repeat: '1010011',
|
|
sound: 'ac_awake.opus',
|
|
vibrate: '1',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'0': true,
|
|
'2': true,
|
|
'5': true,
|
|
'6': true
|
|
},
|
|
label: 'TEST 1',
|
|
hour: 5,
|
|
minute: 3,
|
|
vibrate: true,
|
|
sound: 'ac_awake.opus',
|
|
snooze: 5 } ],
|
|
|
|
[{ normalAlarmId: 7,
|
|
snoozeAlarmId: 42,
|
|
label: 'TEST 2',
|
|
hour: 15,
|
|
minute: 43,
|
|
enabled: true,
|
|
repeat: '1111111',
|
|
vibrate: '0',
|
|
sound: '0',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'0': true,
|
|
'1': true,
|
|
'2': true,
|
|
'3': true,
|
|
'4': true,
|
|
'5': true,
|
|
'6': true
|
|
},
|
|
label: 'TEST 2',
|
|
hour: 15,
|
|
minute: 43,
|
|
vibrate: false,
|
|
sound: null,
|
|
snooze: 5 } ],
|
|
|
|
[{ normalAlarmId: 7,
|
|
snoozeAlarmId: 42,
|
|
label: 'TEST 3',
|
|
hour: 15,
|
|
minute: 43,
|
|
enabled: true,
|
|
repeat: '0000000',
|
|
sound: 'OUTDATED_SOUND_FILE.opus',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: { },
|
|
label: 'TEST 3',
|
|
hour: 15,
|
|
minute: 43,
|
|
vibrate: false,
|
|
sound: 'ac_awake.opus',
|
|
snooze: 5 } ],
|
|
|
|
[{ normalAlarmId: 7,
|
|
snoozeAlarmId: 42,
|
|
label: 'TEST 4',
|
|
hour: 15,
|
|
minute: 43,
|
|
enabled: true,
|
|
repeat: '0101100',
|
|
sound: 'ac_cycle.opus',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'1': true,
|
|
'3': true,
|
|
'4': true
|
|
},
|
|
label: 'TEST 4',
|
|
hour: 15,
|
|
vibrate: false,
|
|
minute: 43,
|
|
sound: 'ac_cycle.opus',
|
|
snooze: 5 } ]
|
|
];
|
|
|
|
test('convert old alarms to new alarms', function() {
|
|
alarmConversions.forEach(function(item) {
|
|
var [oldAlarm, newAlarm] = item;
|
|
assert.deepEqual(
|
|
alarmDatabase.normalizeAlarmRecord(oldAlarm), newAlarm);
|
|
});
|
|
});
|
|
});
|
|
|
|
suite('from the hardcoded days version', function() {
|
|
var alarmConversions = [
|
|
[{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'sunday': true,
|
|
'tuesday': true,
|
|
'friday': true,
|
|
'saturday': true
|
|
},
|
|
label: 'TEST 1',
|
|
hour: 5,
|
|
minute: 3,
|
|
vibrate: true,
|
|
sound: 'ac_awake.opus',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'0': true,
|
|
'2': true,
|
|
'5': true,
|
|
'6': true
|
|
},
|
|
label: 'TEST 1',
|
|
hour: 5,
|
|
minute: 3,
|
|
vibrate: true,
|
|
sound: 'ac_awake.opus',
|
|
snooze: 5 } ],
|
|
|
|
[{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'sunday': true,
|
|
'monday': true,
|
|
'tuesday': true,
|
|
'wednesday': true,
|
|
'thursday': true,
|
|
'friday': true,
|
|
'saturday': true
|
|
},
|
|
label: 'TEST 2',
|
|
hour: 15,
|
|
minute: 43,
|
|
vibrate: false,
|
|
sound: null,
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'0': true,
|
|
'1': true,
|
|
'2': true,
|
|
'3': true,
|
|
'4': true,
|
|
'5': true,
|
|
'6': true
|
|
},
|
|
label: 'TEST 2',
|
|
hour: 15,
|
|
minute: 43,
|
|
vibrate: false,
|
|
sound: null,
|
|
snooze: 5 } ],
|
|
|
|
[{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: { },
|
|
label: 'TEST 3',
|
|
hour: 15,
|
|
minute: 43,
|
|
vibrate: false,
|
|
sound: 'ac_awake.opus',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: { },
|
|
label: 'TEST 3',
|
|
hour: 15,
|
|
minute: 43,
|
|
vibrate: false,
|
|
sound: 'ac_awake.opus',
|
|
snooze: 5 } ],
|
|
|
|
[{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'monday': true,
|
|
'wednesday': true,
|
|
'thursday': true
|
|
},
|
|
label: 'TEST 4',
|
|
hour: 15,
|
|
vibrate: false,
|
|
minute: 43,
|
|
sound: 'ac_cycle.opus',
|
|
snooze: 5 },
|
|
{ registeredAlarms: { normal: 7, snooze: 42 },
|
|
repeat: {
|
|
'1': true,
|
|
'3': true,
|
|
'4': true
|
|
},
|
|
label: 'TEST 4',
|
|
hour: 15,
|
|
vibrate: false,
|
|
minute: 43,
|
|
sound: 'ac_cycle.opus',
|
|
snooze: 5 } ]
|
|
];
|
|
|
|
test('convert old alarms to new alarms', function() {
|
|
alarmConversions.forEach(function(item) {
|
|
var [oldAlarm, newAlarm] = item;
|
|
assert.deepEqual(
|
|
alarmDatabase.normalizeAlarmRecord(oldAlarm), newAlarm);
|
|
});
|
|
});
|
|
});
|
|
});
|