From 81b12b5d6fb89f787589d057d291831777dcac40 Mon Sep 17 00:00:00 2001 From: Adam Townsend Date: Tue, 3 Oct 2023 18:29:03 -0700 Subject: [PATCH] added simplecov and a new test + simplecov is a test coverage tool to show what code is covered and where holes are + added newest test to validate that the redirect url works as expected --- features/homepage.feature | 6 ++++++ features/step_definitions/steps.rb | 13 +++++++++++++ features/support/env.rb | 3 +++ 3 files changed, 22 insertions(+) diff --git a/features/homepage.feature b/features/homepage.feature index 4a96c4a..2bccdcc 100644 --- a/features/homepage.feature +++ b/features/homepage.feature @@ -33,3 +33,9 @@ Feature: Homepage And I click the "Submit" button Then I should be on "/create" page And I should see the message "Link exists" + + @db-test + Scenario: Accessing the URL based on the shortcode + Given A link already exists with the url "https://google.com" and code "aaaaaa" + When I visit the "/aaaaaa" location + Then I should be redirected to "https://google.com" diff --git a/features/step_definitions/steps.rb b/features/step_definitions/steps.rb index 9bc830e..68111a3 100644 --- a/features/step_definitions/steps.rb +++ b/features/step_definitions/steps.rb @@ -13,6 +13,10 @@ Given('A link already exists with the url {string}') do |string| @links.insert(url: string, code: "aaaaaa") end +Given('A link already exists with the url {string} and code {string}') do |url, code| + @links.insert(url: url, code: code) +end + # WHEN When('I click the {string} button') do |string| @@ -23,6 +27,10 @@ When('I type {string} in the {string} field') do |text, field| fill_in field, with: text end +When('I visit the {string} location') do |string| + visit string +end + # THEN Then('I should see text {string}') do |string| @@ -45,6 +53,11 @@ Then('I should see the message {string}') do |message| page.should have_selector '#message', text: message end +Then('I should be redirected to {string}') do |string| + actual = URI.parse(current_url).to_s + location = actual.index(string) + location.should equal(0) +end # AFTER After('@db-test') do diff --git a/features/support/env.rb b/features/support/env.rb index 5307da0..42c1dc5 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -1,3 +1,6 @@ +require 'simplecov' +SimpleCov.start + require_relative '../../.env' ENV["DB_NAME"] = "test_#{ENV["DB_NAME"]}" require_relative '../../app'