diff --git a/Gemfile b/Gemfile index c76e603..c0cf6ec 100644 --- a/Gemfile +++ b/Gemfile @@ -71,6 +71,7 @@ group :test do gem "webdrivers" gem "rspec-rails" gem "factory_bot_rails" + gem "launchy" end diff --git a/Gemfile.lock b/Gemfile.lock index 42be707..641b436 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -110,6 +110,8 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + launchy (2.5.2) + addressable (~> 2.8) loofah (2.21.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -250,6 +252,7 @@ DEPENDENCIES factory_bot_rails importmap-rails jbuilder + launchy pg pry-byebug puma (~> 5.0) diff --git a/spec/features/beers_page_spec.rb b/spec/features/beers_page_spec.rb new file mode 100644 index 0000000..ca84ef8 --- /dev/null +++ b/spec/features/beers_page_spec.rb @@ -0,0 +1,41 @@ +require "rails_helper" + +describe "Beers page" do + it "should display all beers in the database" do + visit beers_path + expect(page).to have_content "Beers" + expect(page).to have_content "Iso 3" + expect(page).to have_content "Karhu" + expect(page).to have_content "Tuplahumala" + expect(page).to have_content "Huvila Pale Ale" + expect(page).to have_content "X Porter" + expect(page).to have_content "Hefeweizen" + expect(page).to have_content "Helles" + end + + it "should be able to add a new beer" do + visit new_beer_path + expect(page).to have_content "New beer" + expect(page).to_not have_content "New fancy test beer" + + fill_in("beer_name", with: "New fancy test beer") + click_button "Create Beer" + + expect(page).to have_content "Beer was successfully created" + expect(page).to have_content "New fancy test beer" + end + + it "should not be able to add a new beer without a proper beer name" do + visit new_beer_path + expect(page).to have_content "New beer" + expect(page).to_not have_content "New fancy test beer" + + fill_in("beer_name", with: "") + click_button "Create Beer" + + expect(page).to_not have_content "Beer was successfully created" + expect(page).to_not have_content "New fancy test beer" + + expect(page).to have_content "Name can't be blank" + end +end diff --git a/spec/features/breweries_page_spec.rb b/spec/features/breweries_page_spec.rb new file mode 100644 index 0000000..0caf7be --- /dev/null +++ b/spec/features/breweries_page_spec.rb @@ -0,0 +1,10 @@ +require "rails_helper" + +describe "Breweries page" do + it "should not have any before created" do + visit breweries_path + expect(page).to have_content "Breweries" + # Has all of the default Breweries + expect(Brewery.count).to eq 3 + end +end diff --git a/spec/features/spec_helpel.rb b/spec/features/spec_helpel.rb new file mode 100644 index 0000000..982ba24 --- /dev/null +++ b/spec/features/spec_helpel.rb @@ -0,0 +1 @@ +require 'capybara/rspec'