Skip to content

Commit f6c70b1

Browse files
authored
Merge pull request #1138 from Turbo87/test-selectors
Use "ember-test-selectors" for UI tests
2 parents b0c3cde + 3748de2 commit f6c70b1

23 files changed

+156
-141
lines changed

app/components/crate-row.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import Component from '@ember/component';
22

33
export default Component.extend({
4-
classNames: ['crate', 'row']
4+
classNames: ['crate', 'row'],
5+
6+
'data-test-crate-row': true,
57
});

app/templates/application.hbs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,18 @@
1717
</h1>
1818
{{/link-to}}
1919

20-
<form class='search' action='/search' {{ action "search" on="submit" }} >
20+
<form class='search' action='/search' {{ action "search" on="submit" }} data-test-search-form>
2121
{{input type="text" class="search" name="q" id="cargo-desktop-search"
2222
placeholder="Click or press 'S' to search..."
2323
value=search
2424
autofocus="autofocus"
2525
tabindex="1"
26-
required=true}}
26+
required=true
27+
data-test-search-input=true}}
2728
</form>
2829

2930
<div class='nav'>
30-
{{#link-to "crates" (query-params letter="null" page=1)}}
31+
{{#link-to "crates" (query-params letter="null" page=1) data-test-all-crates-link}}
3132
Browse All Crates
3233
{{/link-to}}
3334
<span class="sep">|</span>
@@ -70,7 +71,7 @@
7071
{{/rl-dropdown}}
7172
{{/rl-dropdown-container}}
7273
{{else}}
73-
{{#link-to "login"}}
74+
{{#link-to "login" data-test-login-link}}
7475
{{svg-jar "lock"}}
7576
Log in with GitHub
7677
{{/link-to}}

app/templates/categories.hbs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
</div>
77

88
<div id='results'>
9-
<div class='nav'>
9+
<div class='nav' data-test-categories-nav>
1010
<span class='amt small'>
1111
Displaying
1212
<span class='cur'>{{ currentPageStart }}-{{ currentPageEnd }}</span>
1313
of <span class='total'>{{ totalItems }}</span> total results
1414
</span>
1515
</div>
1616

17-
<div class='sort'>
17+
<div class='sort' data-test-categories-sort>
1818
<span class='small'>Sort by</span>
1919
{{#rl-dropdown-container class="dropdown-container"}}
20-
{{#rl-dropdown-toggle tagName="a" class="dropdown"}}
20+
{{#rl-dropdown-toggle tagName="a" class="dropdown" data-test-current-order=true}}
2121
{{svg-jar "sort"}}
2222
{{ currentSortBy }}
2323
<span class='arrow'></span>
@@ -41,11 +41,11 @@
4141

4242
<div class='white-rows'>
4343
{{#each model as |category|}}
44-
<div class='row'>
44+
<div class='row' data-test-category={{category.slug}}>
4545
<div class='desc'>
4646
<div class='info'>
4747
{{link-to category.category "category" category.slug}}
48-
<span class='small'>
48+
<span class='small' data-test-crate-count>
4949
{{ pluralize (format-num category.crates_cnt) "crate" }}
5050
</span>
5151
</div>

app/templates/category/index.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,18 @@
3636

3737
<h2>Crates</h2>
3838
<div id='results'>
39-
<div class='nav'>
39+
<div class='nav' data-test-category-nav>
4040
<span class='amt small'>
4141
Displaying
4242
<span class='cur'>{{ currentPageStart }}-{{ currentPageEnd }}</span>
4343
of <span class='total'>{{ totalItems }}</span> total results
4444
</span>
4545
</div>
4646

47-
<div class='sort'>
47+
<div class='sort' data-test-category-sort>
4848
<span class='small'>Sort by</span>
4949
{{#rl-dropdown-container class="dropdown-container"}}
50-
{{#rl-dropdown-toggle tagName="a" class="dropdown"}}
50+
{{#rl-dropdown-toggle tagName="a" class="dropdown" data-test-current-order=true}}
5151
{{svg-jar "sort"}}
5252
{{ currentSortBy }}
5353
<span class='arrow'></span>

app/templates/components/crate-list.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<ul>
2-
{{#each crates as |crate|}}
2+
{{#each crates as |crate index|}}
33
<li>
4-
{{#link-to 'crate' crate.id class='name'}}
4+
{{#link-to 'crate' crate.id class='name' data-test-crate-link=index}}
55
<span>{{ crate.name }} ({{ crate.max_version }})</span>
66
<div class='arrow-in-list'>
77
{{svg-jar "right-arrow"}}

app/templates/components/crate-row.hbs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
<div class='desc'>
22
<div class='info'>
3-
{{#link-to 'crate' crate.id}}{{ crate.name }}{{/link-to}}
3+
{{#link-to 'crate' crate.id data-test-crate-link}}{{ crate.name }}{{/link-to}}
44
<span class='vers'>
55
<img
66
src="https://img.shields.io/crates/v/{{ crate.name }}.svg"
77
alt="{{ crate.max_version }}"
8-
title="{{ crate.name }}’s current version badge" />
8+
title="{{ crate.name }}’s current version badge"
9+
data-test-version-badge />
910
</span>
1011
{{#each crate.annotated_badges as |badge|}}
11-
{{component badge.component_name badge=badge}}
12+
{{component badge.component_name badge=badge data-test-badge=badge.badge_type}}
1213
{{/each}}
1314
</div>
14-
<div class='summary'>
15+
<div class='summary' data-test-description>
1516
<span class='small'>
1617
{{ truncate-text crate.description }}
1718
</span>
1819
</div>
1920
</div>
2021
<div class='stats'>
21-
<div class='downloads'>
22+
<div class='downloads' data-test-downloads>
2223
{{svg-jar "download"}}
2324
<span class='num'>All-Time: {{ format-num crate.downloads }}</span>
2425
</div>
25-
<div class="recent-downloads">
26+
<div class="recent-downloads" data-test-recent-downloads>
2627
{{svg-jar "download"}}
2728
<span class='num'><abbr title="Downloads in the last 90 days">Recent:</abbr> {{ format-num crate.recent_downloads }}</span>
2829
</div>

app/templates/crate/version.hbs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{{title crate.name}}
22

3-
<div id='crates-heading'>
3+
<div id='crates-heading' data-test-heading>
44
<div class="wide">
55
<div class='info'>
66
{{svg-jar "crate"}}
7-
<h1>{{ crate.name }}</h1>
8-
<h2>{{ currentVersion.num }}</h2>
7+
<h1 data-test-crate-name>{{ crate.name }}</h1>
8+
<h2 data-test-crate-version>{{ currentVersion.num }}</h2>
99
</div>
1010

1111
<div class='right'>
@@ -44,7 +44,7 @@
4444
{{/if}}
4545
{{#if crate.reverse_dependencies}}
4646
<li>
47-
{{#link-to 'crate.reverse_dependencies' (query-params dependency=crate.crate_id)}}
47+
{{#link-to 'crate.reverse_dependencies' (query-params dependency=crate.crate_id) data-test-reverse-deps-link=true}}
4848
Dependent crates
4949
{{/link-to}}
5050
</li>
@@ -137,7 +137,7 @@
137137
{{#if currentVersion.license}}
138138
<div>
139139
<h3>License</h3>
140-
<p class="license">{{ currentVersion.license }}</p>
140+
<p class="license" data-test-license>{{ currentVersion.license }}</p>
141141
</div>
142142
{{/if}}
143143

@@ -169,18 +169,18 @@
169169

170170
<div>
171171
<h3>Owners</h3>
172-
<ul class='owners'>
172+
<ul class='owners' data-test-owners>
173173
{{#each crate.owner_team as |team|}}
174174
<li>
175-
{{#link-to team.kind team.login}}
175+
{{#link-to team.kind team.login data-test-team-link=team.login}}
176176
{{user-avatar user=team size='medium-small'}}
177177
{{/link-to}}
178178
</li>
179179
{{/each}}
180180

181181
{{#each crate.owner_user as |user|}}
182182
<li>
183-
{{#link-to user.kind user.login}}
183+
{{#link-to user.kind user.login data-test-user-link=user.login}}
184184
{{user-avatar user=user size='medium-small'}}
185185
{{/link-to}}
186186
</li>
@@ -205,7 +205,7 @@
205205
</ul>
206206
<span class='small'>
207207
{{#if hasMoreVersions}}
208-
{{#link-to 'crate.versions' crate}}
208+
{{#link-to 'crate.versions' crate data-test-all-versions-link=true}}
209209
show all {{ crate.versions.length }} versions
210210
{{/link-to}}
211211
{{/if}}

app/templates/crates.hbs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@
2626
</div>
2727

2828
<div id='results'>
29-
<div class='nav'>
29+
<div class='nav' data-test-crates-nav>
3030
<span class='amt small'>
3131
Displaying
32-
<span class='cur'>{{ currentPageStart }}-{{ currentPageEnd }}</span>
33-
of <span class='total'>{{ totalItems }}</span> total results
32+
<span class='cur' data-test-current-rows>{{ currentPageStart }}-{{ currentPageEnd }}</span>
33+
of <span class='total' data-test-total-rows>{{ totalItems }}</span> total results
3434
</span>
3535
</div>
3636

37-
<div class='sort'>
37+
<div class='sort' data-test-crates-sort>
3838
<span class='small'>Sort by</span>
3939

4040
{{#rl-dropdown-container class="dropdown-container"}}
41-
{{#rl-dropdown-toggle tagName="a" class="dropdown"}}
41+
{{#rl-dropdown-toggle tagName="a" class="dropdown" data-test-current-order=true}}
4242
{{svg-jar "sort"}}
4343
{{ currentSortBy }}
4444
<span class='arrow'></span>
@@ -66,21 +66,21 @@
6666
</div>
6767

6868
<div id='crates' class='white-rows'>
69-
{{#each model as |crate|}}
70-
{{crate-row crate=crate}}
69+
{{#each model as |crate index|}}
70+
{{crate-row crate=crate data-test-crate-row=index}}
7171
{{/each}}
7272
</div>
7373

7474
<div class='pagination'>
75-
{{#link-to (query-params page=prevPage) class="prev" rel="prev" title="previous page"}}
75+
{{#link-to (query-params page=prevPage) class="prev" rel="prev" title="previous page" data-test-pagination-prev=true}}
7676
{{svg-jar "left-pag"}}
7777
{{/link-to}}
7878
{{#each pages as |page|}}
7979
{{#link-to (query-params page=page)}}
8080
{{ page }}
8181
{{/link-to}}
8282
{{/each}}
83-
{{#link-to (query-params page=nextPage) class="next" rel="next" title="next page"}}
83+
{{#link-to (query-params page=nextPage) class="next" rel="next" title="next page" data-test-pagination-next=true}}
8484
{{svg-jar "right-pag"}}
8585
{{/link-to}}
8686
</div>

app/templates/index.hbs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<h1>The Rust community&rsquo;s crate registry</h1>
33

44
<div class='links'>
5-
{{#link-to "install" class='yellow-button'}}
5+
{{#link-to "install" class='yellow-button' data-test-install-cargo-link=true}}
66
{{svg-jar "button-download"}}
77
Install Cargo
88
{{/link-to}}
@@ -24,39 +24,39 @@
2424
<div id='stats'>
2525
<div class='downloads'>
2626
{{svg-jar "download"}}
27-
<span class='num'>{{format-num model.num_downloads}}</span>
27+
<span class='num' data-test-total-downloads>{{format-num model.num_downloads}}</span>
2828
<span class='desc small'>Downloads</span>
2929
</div>
3030
<div class='crates'>
3131
{{svg-jar "crate"}}
32-
<span class='num'>{{format-num model.num_crates}}</span>
32+
<span class='num' data-test-total-crates>{{format-num model.num_crates}}</span>
3333
<span class='desc small'>Crates in stock</span>
3434
</div>
3535
</div>
3636
</div>
3737

3838
<div id='home-crates' class='crate-lists'>
39-
<div id='new-crates'>
39+
<div id='new-crates' data-test-new-crates>
4040
<h2>New Crates</h2>
4141
{{crate-list crates=model.new_crates}}
4242
</div>
43-
<div id='most-downloaded'>
43+
<div id='most-downloaded' data-test-most-downloaded>
4444
<h2>Most Downloaded</h2>
4545
{{crate-list crates=model.most_downloaded}}
4646
</div>
47-
<div id='just-updated'>
47+
<div id='just-updated' data-test-just-updated>
4848
<h2>Just Updated</h2>
4949
{{crate-list crates=model.just_updated}}
5050
</div>
51-
<div id='most-recently-downloaded'>
51+
<div id='most-recently-downloaded' data-test-most-recently-downloaded>
5252
<h2>Most Recent Downloads</h2>
5353
{{crate-list crates=model.most_recently_downloaded}}
5454
</div>
55-
<div id='keywords'>
55+
<div id='keywords' data-test-keywords>
5656
<h2>Popular Keywords {{#link-to 'keywords'}}(see all){{/link-to}}</h2>
5757
{{keyword-list keywords=model.popular_keywords}}
5858
</div>
59-
<div id='categories'>
59+
<div id='categories' data-test-categories>
6060
<h2>Popular Categories {{#link-to 'categories'}}(see all){{/link-to}}</h2>
6161
{{category-list categories=model.popular_categories}}
6262
</div>

app/templates/keyword/index.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@
77
</div>
88

99
<div id='results'>
10-
<div class='nav'>
10+
<div class='nav' data-test-keyword-nav>
1111
<span class='amt small'>
1212
Displaying
1313
<span class='cur'>{{ currentPageStart }}-{{ currentPageEnd }}</span>
1414
of <span class='total'>{{ totalItems }}</span> total results
1515
</span>
1616
</div>
1717

18-
<div class='sort'>
18+
<div class='sort' data-test-keyword-sort>
1919
<span class='small'>Sort by</span>
2020
{{#rl-dropdown-container class="dropdown-container"}}
21-
{{#rl-dropdown-toggle tagName="a" class="dropdown"}}
21+
{{#rl-dropdown-toggle tagName="a" class="dropdown" data-test-current-order=true}}
2222
{{svg-jar "sort"}}
2323
{{ currentSortBy }}
2424
<span class='arrow'></span>

app/templates/keywords.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
</div>
77

88
<div id='results'>
9-
<div class='nav'>
9+
<div class='nav' data-test-keywords-nav>
1010
<span class='amt small'>
1111
Displaying
1212
<span class='cur'>{{ currentPageStart }}-{{ currentPageEnd }}</span>
1313
of <span class='total'>{{ totalItems }}</span> total results
1414
</span>
1515
</div>
1616

17-
<div class='sort'>
17+
<div class='sort' data-test-keywords-sort>
1818
<span class='small'>Sort by</span>
1919
{{#rl-dropdown-container class="dropdown-container"}}
20-
{{#rl-dropdown-toggle tagName="a" class="dropdown"}}
20+
{{#rl-dropdown-toggle tagName="a" class="dropdown" data-test-current-order=true}}
2121
{{svg-jar "sort"}}
2222
{{ currentSortBy }}
2323
<span class='arrow'></span>

0 commit comments

Comments
 (0)