aboutsummaryrefslogtreecommitdiff
path: root/javascript/tests
diff options
context:
space:
mode:
authoralexwl <alexey.a.kiryushin@gmail.com>2018-10-02 13:17:04 +0300
committeralexwl <alexey.a.kiryushin@gmail.com>2018-10-02 13:17:04 +0300
commitcf2c56c7061b7ed40fdd3b40a352ddb9c9b7371f (patch)
treeb1de9ada0f1b1cb064e3a9e0d4042d1f519085bd /javascript/tests
Initial commit
Diffstat (limited to 'javascript/tests')
-rw-r--r--javascript/tests/.eslintrc.js5
-rw-r--r--javascript/tests/acceptance/haskell-module-test.js28
-rw-r--r--javascript/tests/acceptance/package-test.js23
-rw-r--r--javascript/tests/acceptance/packages-test.js16
-rw-r--r--javascript/tests/helpers/.gitkeep0
-rw-r--r--javascript/tests/index.html33
-rw-r--r--javascript/tests/integration/.gitkeep0
-rw-r--r--javascript/tests/integration/components/.gitkeep0
-rw-r--r--javascript/tests/test-helper.js8
9 files changed, 113 insertions, 0 deletions
diff --git a/javascript/tests/.eslintrc.js b/javascript/tests/.eslintrc.js
new file mode 100644
index 0000000..fbf2555
--- /dev/null
+++ b/javascript/tests/.eslintrc.js
@@ -0,0 +1,5 @@
+module.exports = {
+ env: {
+ embertest: true
+ }
+};
diff --git a/javascript/tests/acceptance/haskell-module-test.js b/javascript/tests/acceptance/haskell-module-test.js
new file mode 100644
index 0000000..939c0dd
--- /dev/null
+++ b/javascript/tests/acceptance/haskell-module-test.js
@@ -0,0 +1,28 @@
+import { module, test } from 'qunit';
+import { visit, currentURL, find } from '@ember/test-helpers';
+import { setupApplicationTest } from 'ember-qunit';
+
+
+module('Acceptance | haskell-module', function(hooks) {
+ setupApplicationTest(hooks);
+
+ //Test data is in 'server/mocks/packages.js'
+ test('visiting /package/test-package-0.1.0.0/show/app/Main.hs', async function(assert) {
+ await visit('/package/test-package-0.1.0.0/show/app/Main.hs');
+
+ assert.equal(currentURL(), '/package/test-package-0.1.0.0/show/app/Main.hs');
+
+ const lines = Array.from(find('tbody').children).map((tr) => {
+ return tr.children[1].innerText;
+ });
+
+ assert.deepEqual(lines,["module Main where",
+ "",
+ "import Lib",
+ "",
+ "main :: IO ()",
+ "main = someFunc",
+ "",
+ ""]);
+ });
+});
diff --git a/javascript/tests/acceptance/package-test.js b/javascript/tests/acceptance/package-test.js
new file mode 100644
index 0000000..bdb1fef
--- /dev/null
+++ b/javascript/tests/acceptance/package-test.js
@@ -0,0 +1,23 @@
+import { module, test } from 'qunit';
+import { visit, currentURL, find } from '@ember/test-helpers';
+import { setupApplicationTest } from 'ember-qunit';
+
+
+module('Acceptance | package', function(hooks) {
+ setupApplicationTest(hooks);
+
+ //Test data is in 'server/mocks/packages.js'
+ test('visiting /package/test-package-0.1.0.0', async function(assert) {
+ await visit('/package/test-package-0.1.0.0');
+ assert.equal(currentURL(), '/package/test-package-0.1.0.0');
+
+ const moduleNames = Array.from(find('ul.modules').children).map((li) => {
+ return [li.innerText,li.children[0].getAttribute('href')];
+ });
+
+ assert.deepEqual(moduleNames,[["app/Main.hs","/package/test-package-0.1.0.0/show/app/Main.hs"],
+ ["src/Lib.hs","/package/test-package-0.1.0.0/show/src/Lib.hs"],
+ ["src/Types.hs","/package/test-package-0.1.0.0/show/src/Types.hs"],
+ ["test/Spec.hs","/package/test-package-0.1.0.0/show/test/Spec.hs"]]);
+ });
+});
diff --git a/javascript/tests/acceptance/packages-test.js b/javascript/tests/acceptance/packages-test.js
new file mode 100644
index 0000000..4c970b1
--- /dev/null
+++ b/javascript/tests/acceptance/packages-test.js
@@ -0,0 +1,16 @@
+import { module, test } from 'qunit';
+import { visit, currentURL, find } from '@ember/test-helpers';
+import { setupApplicationTest } from 'ember-qunit';
+
+module('Acceptance | packages', function(hooks) {
+ setupApplicationTest(hooks);
+
+ //Test data is in file 'server/mocks/packages.js'
+ test('visiting /', async function(assert) {
+ await visit('/');
+ assert.equal(currentURL(), '/');
+ const linkToPackage = find('ul a:first-child');
+ assert.equal(linkToPackage.innerText, 'test-package-0.1.0.0');
+ assert.equal(linkToPackage.getAttribute('href'), '/package/test-package-0.1.0.0');
+ });
+});
diff --git a/javascript/tests/helpers/.gitkeep b/javascript/tests/helpers/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/javascript/tests/helpers/.gitkeep
diff --git a/javascript/tests/index.html b/javascript/tests/index.html
new file mode 100644
index 0000000..19f55cc
--- /dev/null
+++ b/javascript/tests/index.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <title>HaskellCodeExplorer Tests</title>
+ <meta name="description" content="">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+ {{content-for "head"}}
+ {{content-for "test-head"}}
+
+ <link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/haskell-code-explorer.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
+
+ {{content-for "head-footer"}}
+ {{content-for "test-head-footer"}}
+ </head>
+ <body>
+ {{content-for "body"}}
+ {{content-for "test-body"}}
+
+ <script src="/testem.js" integrity=""></script>
+ <script src="{{rootURL}}assets/vendor.js"></script>
+ <script src="{{rootURL}}assets/test-support.js"></script>
+ <script src="{{rootURL}}assets/haskell-code-explorer.js"></script>
+ <script src="{{rootURL}}assets/tests.js"></script>
+
+ {{content-for "body-footer"}}
+ {{content-for "test-body-footer"}}
+ </body>
+</html>
diff --git a/javascript/tests/integration/.gitkeep b/javascript/tests/integration/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/javascript/tests/integration/.gitkeep
diff --git a/javascript/tests/integration/components/.gitkeep b/javascript/tests/integration/components/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/javascript/tests/integration/components/.gitkeep
diff --git a/javascript/tests/test-helper.js b/javascript/tests/test-helper.js
new file mode 100644
index 0000000..0382a84
--- /dev/null
+++ b/javascript/tests/test-helper.js
@@ -0,0 +1,8 @@
+import Application from '../app';
+import config from '../config/environment';
+import { setApplication } from '@ember/test-helpers';
+import { start } from 'ember-qunit';
+
+setApplication(Application.create(config.APP));
+
+start();