spec/helpers/budget_investments_helper_spec.rb
require "rails_helper"
RSpec.describe BudgetInvestmentsHelper do
describe "#set_direction" do
it "returns ASC if current_direction is DESC" do
expect(set_direction("desc")).to eq "asc"
end
it "returns DESC if current_direction is ASC" do
expect(set_direction("asc")).to eq "desc"
end
it "returns DESC if current_direction is nil" do
expect(set_direction(nil)).to eq "desc"
end
end
describe "#set_sorting_icon" do
let(:sort_by) { "title" }
let(:params) { { sort_by: sort_by } }
it "returns arrow down if current direction is ASC" do
expect(set_sorting_icon("asc", sort_by)).to eq "asc"
end
it "returns arrow top if current direction is DESC" do
expect(set_sorting_icon("desc", sort_by)).to eq "desc"
end
it "returns arrow down if sort_by present, but no direction" do
expect(set_sorting_icon(nil, sort_by)).to eq "asc"
end
it "returns no icon if sort_by and direction is missing" do
params[:sort_by] = nil
expect(set_sorting_icon(nil, sort_by)).to eq ""
end
it "returns no icon if sort_by is incorrect" do
params[:sort_by] = "random"
expect(set_sorting_icon("asc", sort_by)).to eq ""
end
end
end