Merge pull request #1204 from thiagofportella/master

Display unsave link for previously saved stories
This commit is contained in:
Peter Bhat Harkins 2023-11-01 10:34:13 -05:00 committed by GitHub
commit 11bad8f847
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 8 deletions

View File

@ -155,14 +155,15 @@ class="story <%= story.current_upvoted? ? "upvoted" : "" %>
<% if single_story && story.hider_count > 0 %>
(hidden by <%= pluralize(story.hider_count, "user") %>)
<% end %>
<% if story.is_saved_by_cur_user %>
<span> | </span><%= link_to "unsave", story_unsave_path(story.short_id),
:class => "saver" %>
<% else %>
<% if !story.is_saved_by_cur_user %>
<span> | </span><%= link_to "save", story_save_path(story.short_id),
:class => "saver" %>
:class => "saver" %>
<% end %>
<% end %>
<% if story.is_saved_by_cur_user %>
<span> | </span><%= link_to "unsave", story_unsave_path(story.short_id),
:class => "saver" %>
<% end %>
<% if story.url.present? %>
<span> | </span>
<span class="dropdown_parent">

View File

@ -3,10 +3,10 @@
require "rails_helper"
RSpec.feature "Reading Stories", type: :feature do
let!(:story) { create(:story) }
let!(:comment) { create(:comment, story: story) }
feature "when logged out" do
let!(:story) { create(:story) }
let!(:comment) { create(:comment, story:) }
scenario "reading a story" do
visit "/s/#{story.short_id}"
expect(page).to have_content(story.title)
@ -16,6 +16,8 @@ RSpec.feature "Reading Stories", type: :feature do
feature "when logged in" do
let(:user) { create(:user) }
let!(:story) { create(:story) }
let!(:comment) { create(:comment, story:) }
before(:each) { stub_login_as user }
@ -32,6 +34,8 @@ RSpec.feature "Reading Stories", type: :feature do
end
feature "reading merged stories" do
let!(:story) { create(:story) }
let!(:comment) { create(:comment, story:) }
let!(:merged) { create(:story, merged_into_story: story) }
it "redirects links" do
@ -59,4 +63,43 @@ RSpec.feature "Reading Stories", type: :feature do
expect(page).to have_selector("span.merge")
end
end
feature "reading saved stories" do
let(:user) { create(:user) }
let!(:user_edited_story) { create(:story, editor: user) }
before do
stub_login_as user
SavedStory.save_story_for_user(user_edited_story.id, user.id)
end
scenario "when story is deleted" do
visit "/saved"
expect(page).not_to have_css("a.saver", text: "save", exact_text: true)
expect(page).to have_link("unsave")
end
scenario "when story is available" do
visit "/saved"
expect(page).not_to have_css("a.saver", text: "save", exact_text: true)
expect(page).to have_link("unsave")
end
end
feature "reading deleted stories" do
let(:user) { create(:user) }
let!(:deleted_story) { create(:story, is_deleted: true) }
before do
stub_login_as user
visit "/"
end
it "does not display saver links" do
expect(page).not_to have_css("a.saver", text: "save", exact_text: true)
expect(page).not_to have_link("unsave")
end
end
end