Skip to content

Commit 8686209

Browse files
committed
add more e2e tests
1 parent 5a0aec9 commit 8686209

File tree

7 files changed

+117
-6
lines changed

7 files changed

+117
-6
lines changed

examples/named-views/app.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ new Vue({
4040
<li><router-link to="/">/</router-link></li>
4141
<li><router-link to="/other">/other</router-link></li>
4242
</ul>
43-
<router-view></router-view>
44-
<router-view name="a"></router-view>
45-
<router-view name="b"></router-view>
43+
<router-view class="view one"></router-view>
44+
<router-view class="view two" name="a"></router-view>
45+
<router-view class="view three" name="b"></router-view>
4646
</div>
4747
`
4848
}).$mount('#app')

examples/nested-routes/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ new Vue({
5757
<li><router-link to="/parent/bar">/parent/bar</router-link></li>
5858
<li><router-link to="/baz">/baz</router-link></li>
5959
</ul>
60-
<router-view></router-view>
60+
<router-view class="view"></router-view>
6161
</div>
6262
`
6363
}).$mount('#app')

src/create-matcher.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,6 @@ function resolveRecordPath (path: string, record: RouteRecord): string {
165165
return resolvePath(path, record.parent ? record.parent.path : '/', true)
166166
}
167167

168-
function getFullPath ({ path = '/', query = {}, hash = '' }) {
169-
return path + stringifyQuery(query) + hash
168+
function getFullPath ({ path, query = {}, hash = '' }) {
169+
return (path || '/') + stringifyQuery(query) + hash
170170
}

test/e2e/specs/basic.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,21 @@ module.exports = {
1111
.assert.containsText('.view', 'home')
1212

1313
.click('li:nth-child(2) a')
14+
.assert.urlEquals('http://localhost:8080/basic/foo')
1415
.assert.containsText('.view', 'foo')
1516

1617
.click('li:nth-child(3) a')
18+
.assert.urlEquals('http://localhost:8080/basic/bar')
1719
.assert.containsText('.view', 'bar')
1820

1921
.click('li:nth-child(1) a')
22+
.assert.urlEquals('http://localhost:8080/basic/')
2023
.assert.containsText('.view', 'home')
24+
25+
// check initial visit
26+
.url('http://localhost:8080/basic/foo')
27+
.waitForElementVisible('#app', 1000)
28+
.assert.containsText('.view', 'foo')
2129
.end()
2230
}
2331
}

test/e2e/specs/named-routes.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module.exports = {
2+
'named routes': function (browser) {
3+
browser
4+
.url('http://localhost:8080/named-routes/')
5+
.waitForElementVisible('#app', 1000)
6+
.assert.count('li a', 3)
7+
// assert correct href with base
8+
.assert.attributeContains('li:nth-child(1) a', 'href', '/named-routes/')
9+
.assert.attributeContains('li:nth-child(2) a', 'href', '/named-routes/foo')
10+
.assert.attributeContains('li:nth-child(3) a', 'href', '/named-routes/bar')
11+
.assert.containsText('.view', 'home')
12+
13+
.click('li:nth-child(2) a')
14+
.assert.urlEquals('http://localhost:8080/named-routes/foo')
15+
.assert.containsText('.view', 'foo')
16+
17+
.click('li:nth-child(3) a')
18+
.assert.urlEquals('http://localhost:8080/named-routes/bar')
19+
.assert.containsText('.view', 'bar')
20+
21+
.click('li:nth-child(1) a')
22+
.assert.urlEquals('http://localhost:8080/named-routes/')
23+
.assert.containsText('.view', 'home')
24+
25+
// check initial visit
26+
.url('http://localhost:8080/named-routes/foo')
27+
.waitForElementVisible('#app', 1000)
28+
.assert.containsText('.view', 'foo')
29+
.end()
30+
}
31+
}

test/e2e/specs/named-views.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module.exports = {
2+
'named views': function (browser) {
3+
browser
4+
.url('http://localhost:8080/named-views/')
5+
.waitForElementVisible('#app', 1000)
6+
.assert.count('li a', 2)
7+
// assert correct href with base
8+
.assert.attributeContains('li:nth-child(1) a', 'href', '/named-views/')
9+
.assert.attributeContains('li:nth-child(2) a', 'href', '/named-views/other')
10+
11+
.assert.containsText('.view.one', 'foo')
12+
.assert.containsText('.view.two', 'bar')
13+
.assert.containsText('.view.three', 'baz')
14+
15+
.click('li:nth-child(2) a')
16+
.assert.urlEquals('http://localhost:8080/named-views/other')
17+
.assert.containsText('.view.one', 'baz')
18+
.assert.containsText('.view.two', 'bar')
19+
.assert.containsText('.view.three', 'foo')
20+
21+
.click('li:nth-child(1) a')
22+
.assert.urlEquals('http://localhost:8080/named-views/')
23+
.assert.containsText('.view.one', 'foo')
24+
.assert.containsText('.view.two', 'bar')
25+
.assert.containsText('.view.three', 'baz')
26+
27+
// check initial visit
28+
.url('http://localhost:8080/named-views/other')
29+
.waitForElementVisible('#app', 1000)
30+
.assert.containsText('.view.one', 'baz')
31+
.assert.containsText('.view.two', 'bar')
32+
.assert.containsText('.view.three', 'foo')
33+
.end()
34+
}
35+
}

test/e2e/specs/nested-routes.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
module.exports = {
2+
'nested routes': function (browser) {
3+
browser
4+
.url('http://localhost:8080/nested-routes/')
5+
.waitForElementVisible('#app', 1000)
6+
.assert.count('li a', 4)
7+
.assert.urlEquals('http://localhost:8080/nested-routes/parent')
8+
.assert.containsText('.view', 'Parent')
9+
.assert.containsText('.view', 'default')
10+
11+
.click('li:nth-child(2) a')
12+
.assert.urlEquals('http://localhost:8080/nested-routes/parent/foo')
13+
.assert.containsText('.view', 'Parent')
14+
.assert.containsText('.view', 'foo')
15+
16+
.click('li:nth-child(3) a')
17+
.assert.urlEquals('http://localhost:8080/nested-routes/parent/bar')
18+
.assert.containsText('.view', 'Parent')
19+
.assert.containsText('.view', 'bar')
20+
21+
.click('li:nth-child(4) a')
22+
.assert.urlEquals('http://localhost:8080/nested-routes/baz')
23+
.assert.containsText('.view', 'Parent')
24+
.assert.containsText('.view', 'baz')
25+
26+
// check initial visit
27+
.url('http://localhost:8080/nested-routes/parent/foo')
28+
.waitForElementVisible('#app', 1000)
29+
.assert.containsText('.view', 'Parent')
30+
.assert.containsText('.view', 'foo')
31+
.url('http://localhost:8080/nested-routes/baz')
32+
.waitForElementVisible('#app', 1000)
33+
.assert.containsText('.view', 'Parent')
34+
.assert.containsText('.view', 'baz')
35+
.end()
36+
}
37+
}

0 commit comments

Comments
 (0)