Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/apps/system/test/integration/system_integration.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/system/test/integration/system_integration.js')
-rw-r--r--apps/system/test/integration/system_integration.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/apps/system/test/integration/system_integration.js b/apps/system/test/integration/system_integration.js
new file mode 100644
index 0000000..1116e17
--- /dev/null
+++ b/apps/system/test/integration/system_integration.js
@@ -0,0 +1,49 @@
+require('/tests/js/app_integration.js');
+require('/tests/js/integration_helper.js');
+
+function SystemIntegration() {
+ AppIntegration.apply(this, arguments);
+}
+
+SystemIntegration.prototype = {
+ __proto__: AppIntegration.prototype,
+
+ appName: 'System',
+
+ selectors: {
+ /** notifications */
+ notificationsContainer: '#notifications-container'
+ },
+
+ /**
+ * Override base launch method.
+ * The system app is launched by directly
+ * going to its url we we determine by getting
+ * all the apps and finding the 'System' apps origin.
+ */
+ launch: function(callback) {
+ var self = this;
+ this.task(function(app, next, done) {
+ var device = app.device;
+ yield device.setScriptTimeout(5000);
+
+ yield IntegrationHelper.importScript(
+ device,
+ '/tests/atoms/gaia_apps.js',
+ MochaTask.nodeNext
+ );
+
+ var result = yield device.executeAsyncScript(
+ 'GaiaApps.locateWithName("' + self.appName + '");'
+ );
+
+ // locate the origin of the system app.
+ // We must append the /index.html because of the app:// protocol.
+ yield device.goUrl(result.origin + '/index.html');
+
+ // complete the task
+ done();
+ }, callback);
+ }
+
+};