diff --git a/app/controllers/topics_controller.rb b/app/controllers/topics_controller.rb
index e449471f..d1bb6584 100644
--- a/app/controllers/topics_controller.rb
+++ b/app/controllers/topics_controller.rb
@@ -105,7 +105,7 @@ def mutator
end
def search_params
- return {} unless params[:search].present?
+ return { state: :active } unless params[:search].present?
params.require(:search).permit(:query, :state, :language_id, :year, :month, :order, tag_list: [])
end
diff --git a/app/views/topics/_list.html.erb b/app/views/topics/_list.html.erb
index db589e15..40b2da9c 100644
--- a/app/views/topics/_list.html.erb
+++ b/app/views/topics/_list.html.erb
@@ -9,7 +9,7 @@
<%= topic.documents.size %> |
"><%= topic.state %> |
- <%= link_to topic_path(topic, search: search_params), class: "btn btn-primary btn-sm", data: { turbo: false } do %>
+ <%= link_to topic_path(topic, search: search_params), class: "btn btn-primary btn-sm", data: { testid: topic.id, turbo: false } do %>
View
<% end %>
<%= link_to edit_topic_path(topic), class: "btn btn-secondary btn-sm", data: { turbo: false } do %>
diff --git a/spec/system/topics/search_spec.rb b/spec/system/topics/search_spec.rb
index 3d43d4f6..74d50a8e 100644
--- a/spec/system/topics/search_spec.rb
+++ b/spec/system/topics/search_spec.rb
@@ -65,7 +65,7 @@
it "shows all topics from first provider" do
expect(page).to have_text(english_active_topic.title)
expect(page).to have_text(spanish_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
end
context "when searching by title" do
@@ -99,7 +99,7 @@
select "English", from: "search_language_id"
expect(page).to have_text(english_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(spanish_active_topic.title)
end
end
@@ -114,7 +114,7 @@
select "2023", from: "search_year"
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(spanish_active_topic.title)
expect(page).not_to have_text(english_active_topic.title)
end
@@ -125,7 +125,7 @@
select "2", from: "search_month"
expect(page).to have_text(spanish_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(english_active_topic.title)
select "3", from: "search_month"
@@ -165,13 +165,15 @@
context "when sorting" do
it "displays users in the selected order" do
select "asc", from: "search_order"
- expect(page).to have_text(/#{english_archived_topic.title}.+#{spanish_active_topic.title}.+#{english_active_topic.title}/m)
+
+ expect(page).to have_text(/#{spanish_active_topic.title}.+#{english_active_topic.title}/m)
end
end
context "when switching to another provider" do
it "only shows topics from the selected provider" do
select provider_2.name, from: "provider_id"
+
expect(page).to have_text(other_provider_topic.title)
expect(page).not_to have_text(english_active_topic.title)
expect(page).not_to have_text(spanish_active_topic.title)
@@ -196,7 +198,7 @@
it "only shows topics from its first associated provider" do
expect(page).to have_text(english_active_topic.title)
expect(page).to have_text(spanish_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(other_provider_topic.title)
end
@@ -231,7 +233,7 @@
select "English", from: "search_language_id"
expect(page).to have_text(english_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(spanish_active_topic.title)
end
end
@@ -246,7 +248,7 @@
select "2023", from: "search_year"
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(spanish_active_topic.title)
expect(page).not_to have_text(english_active_topic.title)
end
@@ -257,7 +259,7 @@
select "2", from: "search_month"
expect(page).to have_text(spanish_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(english_active_topic.title)
select "3", from: "search_month"
@@ -297,7 +299,7 @@
context "when sorting" do
it "displays users in the selected order" do
select "asc", from: "search_order"
- expect(page).to have_text(/#{english_archived_topic.title}.+#{spanish_active_topic.title}.+#{english_active_topic.title}/m)
+ expect(page).to have_text(/#{spanish_active_topic.title}.+#{english_active_topic.title}/m)
end
end
end
@@ -311,7 +313,7 @@
it "only shows topics from its first associated provider" do
expect(page).to have_text(english_active_topic.title)
expect(page).to have_text(spanish_active_topic.title)
- expect(page).to have_text(english_archived_topic.title)
+ expect(page).not_to have_text(english_archived_topic.title)
expect(page).not_to have_text(other_provider_topic.title)
end
diff --git a/spec/system/upload_management_spec.rb b/spec/system/upload_management_spec.rb
index 1b1bed34..31795d72 100644
--- a/spec/system/upload_management_spec.rb
+++ b/spec/system/upload_management_spec.rb
@@ -4,8 +4,8 @@
let(:admin) { create(:user, :admin, email: "admin@mail.com") }
before do
- login_as(admin)
create(:language)
+ login_as(admin)
end
context "when creating a new topic" do
@@ -49,7 +49,7 @@
expect(page).to have_text("logo_ruby_for_good.png")
expect(page).to have_text("skillrx_sidebar.png")
click_button("Update Topic")
- click_link("View", href: topic_path(topic))
+ find_link { |l| l["data-testid"] == "#{topic.id}" }.click
expect(page).to have_text("skillrx_sidebar.png")
end
@@ -62,7 +62,7 @@
expect(page).to have_text("logo_ruby_for_good.png")
expect(page).to have_text("skillrx_sidebar.png")
click_link("Cancel")
- click_link("View", href: topic_path(topic))
+ find_link { |l| l["data-testid"] == "#{topic.id}" }.click
expect(page).to have_text("logo_ruby_for_good.png")
expect(page).not_to have_text("skillrx_sidebar.png")
end
@@ -78,7 +78,7 @@
expect(page).to have_text("file_text_test.txt")
click_button("Update Topic")
expect(page).to have_text("View")
- click_link("View", href: topic_path(topic))
+ find_link { |l| l["data-testid"] == "#{topic.id}" }.click
expect(page).not_to have_text("file_text_test.txt")
end
end
@@ -91,7 +91,7 @@
expect(page).not_to have_text("logo_ruby_for_good.png")
click_button("Update Topic")
expect(page).to have_text("View")
- click_link("View", href: topic_path(topic))
+ find_link { |l| l["data-testid"] == "#{topic.id}" }.click
expect(page).not_to have_text("logo_ruby_for_good.png")
end
@@ -101,7 +101,7 @@
expect(page).not_to have_text("logo_ruby_for_good.png")
click_link("Cancel")
expect(page).to have_text("View")
- click_link("View", href: topic_path(topic))
+ find_link { |l| l["data-testid"] == "#{topic.id}" }.click
expect(page).to have_text("logo_ruby_for_good.png")
end
end
|