Allow sorting widget_cards on sdg section

This commit is contained in:
taitus
2023-10-27 10:58:00 +02:00
parent 7c85daac3f
commit f795c18bec
2 changed files with 25 additions and 1 deletions

View File

@@ -19,7 +19,7 @@
<h2 class="title"><%= phase.title %></h2> <h2 class="title"><%= phase.title %></h2>
</header> </header>
<%= render "shared/cards", cards: phase.cards %> <%= render "shared/cards", cards: phase.cards.sort_by_order %>
</section> </section>
<% end %> <% end %>
</main> </main>

View File

@@ -35,4 +35,28 @@ describe SDG::Goals::IndexComponent do
expect(page).to have_content "Planning" expect(page).to have_content "Planning"
expect(page).to have_content "Monitoring" expect(page).to have_content "Monitoring"
end end
describe "Cards are ordered" do
scenario "by order field" do
create(:widget_card, cardable: SDG::Phase["planning"], title: "Card One", order: 3)
create(:widget_card, cardable: SDG::Phase["planning"], title: "Card Two", order: 2)
create(:widget_card, cardable: SDG::Phase["planning"], title: "Card Three", order: 1)
render_inline component
expect("Card Three").to appear_before("Card Two")
expect("Card Two").to appear_before("Card One")
end
scenario "by created_at with cards have same order" do
create(:widget_card, cardable: SDG::Phase["planning"], title: "Card One", order: 1)
create(:widget_card, cardable: SDG::Phase["planning"], title: "Card Two", order: 1)
create(:widget_card, cardable: SDG::Phase["planning"], title: "Card Three", order: 1)
render_inline component
expect("Card One").to appear_before("Card Two")
expect("Card Two").to appear_before("Card Three")
end
end
end end