marionette('Alarm', function() { 'use strict'; var assert = require('assert'); var $ = require('./lib/mquery'); var utils = require('./lib/utils'); var actions = new (require('./lib/actions'))({ desiredCapabilities: { raisesAccessibilityExceptions: false } }); var alarm = actions.alarm; setup(function() { actions.launch('alarm'); }); // PythonTests: functional/test_clock_switch_clock_type test('Tapping the clock toggles between analog and digital', function() { $('#analog-clock').tap(); assert.ok($('#digital-clock').displayed()); assert.ok($('#clock-day-date').displayed()); $('#digital-clock').tap(); assert.ok($('#analog-clock').displayed()); assert.ok($('#clock-day-date').displayed()); }); test('Deleting an alarm works between app launches', function() { alarm.create(); alarm.openEditForm(0); alarm.delete(); actions.restart(); assert.equal(alarm.list.length, 0); }); // PythonTests: functional/test_clock_set_alarm test('Blank "New Alarm" form mutates properly', function() { alarm.openNewForm(); assert.equal($('#repeat-menu').text(), 'Never'); [ { repeat: ['Monday'], label: 'Mon' }, { repeat: [], label: 'Never' }, { repeat: ['Monday', 'Tuesday'], label: 'Mon, Tue' }, { repeat: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], label: 'Every day' }, { repeat: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], label: 'Weekdays' } ].forEach(function(item) { $('#repeat-select').val(item.repeat); assert.equal($('#repeat-menu').text(), item.label); }); var selectedOptions = { snooze: '15 minutes', sound: 'Cycle', repeat: 'Weekdays' }; assert.notEqual($('#sound-menu').text(), selectedOptions.sound); $('#sound-select').val(selectedOptions.sound); assert.equal($('#sound-menu').text(), selectedOptions.sound); assert.notEqual($('#snooze-menu').text(), selectedOptions.snooze); $('#snooze-select').val(selectedOptions.snooze); assert.equal($('#snooze-menu').text(), selectedOptions.snooze); alarm.saveForm(); alarm.openEditForm(0); assert.equal($('#sound-menu').text(), selectedOptions.sound); assert.equal($('#snooze-menu').text(), selectedOptions.snooze); assert.equal($('#repeat-menu').text(), selectedOptions.repeat); // Ensure that the time button shows the value of the time //