Skip to content

Commit fcbf811

Browse files
committed
Add some more tests
1 parent 3133bec commit fcbf811

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

spec/system/gem_spec.rb

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
require 'rails_helper'
2+
3+
RSpec.describe "Github", type: :system do
4+
with_rubydoc_config({}) do
5+
context "GET /" do
6+
before do
7+
Library.gem.delete_all
8+
end
9+
10+
context "when no gems are available" do
11+
it do
12+
visit gems_path
13+
expect(page).to have_selector("h2", text: "RubyGems Listing")
14+
expect(page).to have_selector("nav .selected", text: "RubyGems")
15+
16+
expect(page).to have_selector(".alpha .selected", text: "A")
17+
(?b.. ?z).each do |letter|
18+
expect(page).to have_selector(".alpha a", text: letter.chr.upcase)
19+
end
20+
21+
expect(page).to have_selector(".row", text: "No matches found.")
22+
end
23+
end
24+
25+
context "when gems are available" do
26+
before do
27+
Library.gem.delete_all
28+
create(:gem, name: "yard", versions: [ "1.0.0", "2.0.0", "3.0.0", "4.0.0", "5.0.0" ])
29+
end
30+
31+
it do
32+
visit gems_path(letter: "y")
33+
expect(page).to have_selector(".alpha .selected", text: "Y")
34+
expect(page).to have_link(text: "yard", href: yard_gems_path("yard"))
35+
expect(page).to have_link(text: "4.0.0", href: yard_gems_path("yard", "4.0.0"))
36+
expect(page).to have_link(text: "3.0.0", href: yard_gems_path("yard", "3.0.0"))
37+
expect(page).to have_link(text: "2.0.0", href: yard_gems_path("yard", "2.0.0"))
38+
end
39+
end
40+
end
41+
end
42+
end

spec/system/github_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,21 @@
1717
expect(page).to have_selector("h2", text: "GitHub Projects Listing")
1818
expect(page).to have_no_selector("h2", text: "Featured Libraries Listing")
1919
expect(page).to have_link(text: "xyz/abc", href: yard_github_path("xyz", "abc"))
20+
expect(page).not_to have_selector(".alpha a", text: "Latest")
21+
expect(page).to have_selector(".alpha .selected", text: "Latest")
22+
expect(page).to have_selector("nav .selected", text: "GitHub")
23+
24+
(?a.. ?z).each do |letter|
25+
expect(page).to have_selector(".alpha a", text: letter.chr.upcase)
26+
end
2027
end
2128
end
2229

2330
context "when featured libraries are configured" do
2431
with_rubydoc_config(libraries: { featured: { yard: "gem" } }) do
2532
it do
2633
visit root_path(letter: "b")
34+
expect(page).to have_selector(".alpha .selected", text: "B")
2735
expect(page).to have_selector("h2", text: "Featured Libraries Listing")
2836
expect(page).to have_link(text: "yard", href: yard_gems_path("yard"))
2937
expect(page).to have_link(text: "4.0.0", href: yard_gems_path("yard", "4.0.0"))

0 commit comments

Comments
 (0)