We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
69 lines
2.5 KiB
Ruby
69 lines
2.5 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Admin change log" do
|
|
let(:budget) { create(:budget) }
|
|
let(:administrator) do
|
|
create(:administrator, user: create(:user, username: "Ana", email: "ana@admins.org"))
|
|
end
|
|
|
|
context "Investments Participatory Budgets" do
|
|
before do
|
|
login_as(create(:administrator).user)
|
|
end
|
|
|
|
scenario "No changes" do
|
|
budget_investment = create(:budget_investment,
|
|
:unfeasible,
|
|
unfeasibility_explanation: "It is impossible",
|
|
price: 1234,
|
|
price_first_year: 1000,
|
|
administrator: administrator)
|
|
|
|
visit admin_budget_budget_investments_path(budget_investment.budget)
|
|
|
|
click_link budget_investment.title
|
|
|
|
expect(page).to have_content(budget_investment.title)
|
|
expect(page).to have_content(budget_investment.description)
|
|
expect(page).to have_content(budget_investment.author.name)
|
|
expect(page).to have_content(budget_investment.heading.name)
|
|
expect(page).to have_content("There are not changes logged")
|
|
end
|
|
|
|
scenario "Changes" do
|
|
budget_investment = create(:budget_investment,
|
|
:unfeasible,
|
|
unfeasibility_explanation: "It is impossible",
|
|
price: 1234,
|
|
price_first_year: 1000,
|
|
administrator: administrator)
|
|
|
|
visit admin_budget_budget_investments_path(budget_investment.budget)
|
|
|
|
click_link budget_investment.title
|
|
|
|
expect(page).to have_content(budget_investment.title)
|
|
expect(page).to have_content(budget_investment.description)
|
|
expect(page).to have_content(budget_investment.author.name)
|
|
expect(page).to have_content(budget_investment.heading.name)
|
|
expect(page).to have_content("There are not changes logged")
|
|
|
|
budget_investment.update!(title: "test")
|
|
|
|
visit admin_budget_budget_investments_path(budget_investment.budget)
|
|
|
|
click_link budget_investment.title
|
|
|
|
expect(page).not_to have_content("There are not changes logged")
|
|
expect(page).to have_content("Change Log")
|
|
expect(page).to have_content("Title")
|
|
expect(page).to have_content("test")
|
|
expect(page).to have_content("Field")
|
|
expect(page).to have_content("Old Value")
|
|
expect(page).to have_content("New Value")
|
|
expect(page).to have_content("Edited at")
|
|
expect(page).to have_content("Edited by")
|
|
end
|
|
end
|
|
end
|