Skip to content

Commit dab43a9

Browse files
authored
Merge pull request #14 from CaptainAchilles/test-update
Test update
2 parents d26d4ff + caccc31 commit dab43a9

12 files changed

Lines changed: 81 additions & 67 deletions

File tree

template/.eslintignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
**/*/coverage
2+
**/*/report

template/build/webpack.base.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ module.exports = {
3434
module: {
3535
rules: [{
3636
enforce: "pre",
37-
test: /.vue$/,
37+
test: /(.vue|.ts)$/,
3838
loader: "eslint-loader",
3939
exclude: "/node_modules/"
4040
}, {

template/src/App.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010

1111
<script lang="ts">
1212
import Vue, { ComponentOptions } from "vue";
13-
import SideNav from "./components/SideNav";
14-
import WinnerIsYou from "./components/WinnerIsYou";
13+
import SideNav from "./components/SideNav.vue";
14+
import WinnerIsYou from "./components/WinnerIsYou.vue";
1515
1616
interface IApp extends Vue {
1717

template/src/components/WinnerIsYou.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<h1 class="winner" @click="doStuff" v-if="text">{{ text }}</h1>
2+
<h1 class="winner" @click="doStuff" v-if="text">\{{ text }}</h1>
33
</template>
44

55
<style scoped>

template/src/index.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
declare module "*.vue" {
2+
import Vue from "vue";
3+
export default Vue;
4+
}

template/src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ document.body.appendChild(appContainer);
1010
/* eslint-disable no-new */
1111
new Vue({
1212
el: "#app",
13-
render: h => h(App)
13+
render: (h) => h(App)
1414
});
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
var config = require('../../config')
1+
const config = require("../../config");
22

33
// http://nightwatchjs.org/gettingstarted#settings-file
44
module.exports = {
5-
src_folders: ['test/e2e/spec'],
6-
output_folder: 'test/e2e/report',
5+
src_folders: ["test/e2e/spec"],
6+
output_folder: "test/e2e/report",
77

88
selenium: {
99
start_process: true,
10-
server_path: require('selenium-server').path,
11-
host: '127.0.0.1',
10+
server_path: require("selenium-server").path,
11+
host: "127.0.0.1",
1212
port: 4444,
1313
cli_args: {
14-
'webdriver.chrome.driver': require('chromedriver').path
14+
"webdriver.chrome.driver": require("chromedriver").path
1515
}
1616
},
1717

1818
test_settings: {
1919
default: {
2020
selenium_port: 4444,
21-
selenium_host: 'localhost',
21+
selenium_host: "localhost",
2222
silent: true,
2323
globals: {
24-
devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
24+
devServerURL: "http://localhost:" + (process.env.PORT || config.dev.port)
2525
}
2626
},
2727

@@ -30,23 +30,23 @@ module.exports = {
3030
"browserName": "phantomjs",
3131
"javascriptEnabled": true,
3232
"acceptSslCerts": true,
33-
"phantomjs.binary.path": require('phantomjs-prebuilt').path
33+
"phantomjs.binary.path": require("phantomjs-prebuilt").path
3434
}
3535
},
3636
chrome: {
3737
desiredCapabilities: {
38-
browserName: 'chrome',
38+
browserName: "chrome",
3939
javascriptEnabled: true,
4040
acceptSslCerts: true
4141
}
4242
},
4343

4444
firefox: {
4545
desiredCapabilities: {
46-
browserName: 'firefox',
46+
browserName: "firefox",
4747
javascriptEnabled: true,
4848
acceptSslCerts: true
4949
}
5050
}
5151
}
52-
}
52+
};

template/test/e2e/runner.js

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// 1. start the dev server using production config
2-
process.env.NODE_ENV = 'testing'
3-
var server = require('../../build/dev-server.js')
2+
process.env.NODE_ENV = "testing";
3+
const server = require("../../build/dev-server.js");
44

55
server.ready.then(() => {
66
// 2. run the nightwatch test suite against it
@@ -10,26 +10,26 @@ server.ready.then(() => {
1010
// or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
1111
// For more information on Nightwatch's config file, see
1212
// http://nightwatchjs.org/guide#settings-file
13-
var opts = process.argv.slice(2)
14-
if (opts.indexOf('--config') === -1) {
15-
opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
13+
let opts = process.argv.slice(2);
14+
if (opts.indexOf("--config") === -1) {
15+
opts = opts.concat(["--config", "test/e2e/nightwatch.conf.js"]);
1616
}
17-
if (opts.indexOf('--env') === -1) {
18-
opts = opts.concat(['--env', 'chrome,phantomjs'])
17+
if (opts.indexOf("--env") === -1) {
18+
opts = opts.concat(["--env", "chrome,phantomjs"]);
1919
}
2020

21-
var spawn = require('cross-spawn')
22-
var runner = spawn('./node_modules/.bin/nightwatch', opts, {
23-
stdio: 'inherit'
24-
})
21+
let spawn = require("cross-spawn");
22+
let runner = spawn("./node_modules/.bin/nightwatch", opts, {
23+
stdio: "inherit"
24+
});
2525

26-
runner.on('exit', function (code) {
27-
server.close()
28-
process.exit(code)
29-
})
26+
runner.on("exit", function(code) {
27+
server.close();
28+
process.exit(code);
29+
});
3030

31-
runner.on('error', function (err) {
32-
server.close()
33-
throw err
34-
})
35-
})
31+
runner.on("error", function(err) {
32+
server.close();
33+
throw err;
34+
});
35+
});
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
const assert = require("assert");
22

33
module.exports = {
4-
'default e2e tests': function (browser) {
4+
"default e2e tests": function(browser) {
55
// automatically uses dev Server port from /config.index.js
66
// default: http://localhost:8080
77
// see nightwatch.conf.js
88
const devServer = browser.globals.devServerURL;
99

1010
browser
1111
.url(devServer)
12-
.waitForElementVisible('#main', 1000)
13-
.assert.elementPresent('.winner')
14-
.assert.containsText('.winner', 'THIS PAGE IS INTENTIONALLY STYLED POORLY');
12+
.waitForElementVisible("#main", 1000)
13+
.assert.elementPresent(".winner")
14+
.assert.containsText(".winner", "THIS PAGE IS INTENTIONALLY STYLED POORLY");
1515

16-
browser.click("ul li:first-of-type", function () {
17-
browser.elements("css selector", "ul li", function (elements) {
16+
browser.click("ul li:first-of-type", function() {
17+
browser.elements("css selector", "ul li", function(elements) {
1818
assert.equal(4, elements.value.length);
19-
browser.click("ul li:first-of-type", function () {
20-
browser.elements("css selector", "ul li", function (elements) {
19+
browser.click("ul li:first-of-type", function() {
20+
browser.elements("css selector", "ul li", function(elements) {
2121
assert.equal(1, elements.value.length);
2222
browser.end();
2323
});
2424
});
25-
})
25+
});
2626
});
2727
}
28-
}
28+
};

template/test/unit/spec/SideNav.spec.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,25 @@ describe("SideNav.vue", () => {
1616
main.id = "app";
1717
document.body.appendChild(main);
1818
}
19+
const mountPoint = document.createElement("div");
20+
mountPoint.id = "mountMe";
21+
document.getElementById("app").appendChild(mountPoint);
1922
});
2023

2124
it("Hides Links Intially", () => {
22-
let vm = new SideNav().$mount("#app");
23-
25+
let vm = new SideNav().$mount("#mountMe");
26+
2427
// The only child is the "Toggle Links" item
2528
assert.equal(vm.$el.children.length, 1);
26-
})
29+
});
2730

2831
it("Shows links when clicked", (done) => {
29-
let vm = new SideNav().$mount("#app");
30-
32+
let vm = new SideNav().$mount("#mountMe");
33+
3134
// The only child is the "Toggle Links" item
3235
assert.equal(vm.$el.children.length, 1);
3336
(vm.$el.children[0] as HTMLElement).click();
34-
37+
3538
Vue.nextTick(() => {
3639
// There are 3 links + 1 toggle link item.
3740
assert.equal(vm.$el.children.length, 4);
@@ -40,8 +43,8 @@ describe("SideNav.vue", () => {
4043
});
4144

4245

43-
it("Toggles links properly", done => {
44-
let vm = new SideNav().$mount("#app");
46+
it("Toggles links properly", (done) => {
47+
let vm = new SideNav().$mount("#mountMe");
4548

4649
// The only child is the "Toggle Links" item
4750
assert.equal(vm.$el.children.length, 1);
@@ -51,7 +54,7 @@ describe("SideNav.vue", () => {
5154
assert.equal(vm.$el.children.length, 4);
5255
(vm.$el.children[0] as HTMLElement).click();
5356

54-
Vue.nextTick(function() {
57+
Vue.nextTick(() => {
5558
// Clicking it again should hide all links
5659
assert.equal(vm.$el.children.length, 1);
5760
done();

0 commit comments

Comments
 (0)