VulpesOS/gaia/apps/communications/contacts/test/marionette/settings_test.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

49 lines
1.5 KiB
JavaScript
Executable file

'use strict';
var Contacts = require('./lib/contacts');
var assert = require('assert');
marionette('Contacts > Settings', function() {
var client = marionette.client({ profile: Contacts.config });
var subject;
var selectors;
var buttonSelectors;
setup(function() {
subject = new Contacts(client);
subject.launch();
selectors = Contacts.Selectors;
buttonSelectors = [selectors.exportButton, selectors.bulkDelete,
selectors.setIceButton];
});
function isDisabled(selector) {
return client.executeScript(function(selector) {
return document.querySelector(selector).disabled;
}, [selector]);
}
suite('Export, delete and ice buttons disabled', function() {
test('No contacts -> Disabled', function() {
client.findElement(selectors.settingsButton).click();
var settings = client.helper.waitForElement(selectors.settingsView);
subject.waitForSlideUp(settings);
buttonSelectors.forEach(function(selector) {
assert.ok(isDisabled(selector));
});
});
test('List not empty -> Active', function() {
subject.addContact({
givenName: 'Cristian'
});
client.helper.waitForElement(selectors.settingsButton).click();
var settings = client.helper.waitForElement(selectors.settingsView);
subject.waitForSlideUp(settings);
buttonSelectors.forEach(function(selector) {
assert.ok(!isDisabled(selector));
});
});
});
});