diff options
author | alexwl <alexey.a.kiryushin@gmail.com> | 2018-10-02 13:17:04 +0300 |
---|---|---|
committer | alexwl <alexey.a.kiryushin@gmail.com> | 2018-10-02 13:17:04 +0300 |
commit | cf2c56c7061b7ed40fdd3b40a352ddb9c9b7371f (patch) | |
tree | b1de9ada0f1b1cb064e3a9e0d4042d1f519085bd /javascript/tests/acceptance |
Initial commit
Diffstat (limited to 'javascript/tests/acceptance')
-rw-r--r-- | javascript/tests/acceptance/haskell-module-test.js | 28 | ||||
-rw-r--r-- | javascript/tests/acceptance/package-test.js | 23 | ||||
-rw-r--r-- | javascript/tests/acceptance/packages-test.js | 16 |
3 files changed, 67 insertions, 0 deletions
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'); + }); +}); |