The name of the changed field is translated, values are truncated so descriptions with thousands of character would make this table huge and impossible to read, dates are localized, and values like arrays and booleans are displayed properly.
67 lines
2.5 KiB
Ruby
67 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 no 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 no changes logged")
|
|
|
|
click_link "Edit"
|
|
fill_in "Title", with: "test"
|
|
click_button "Update"
|
|
|
|
expect(page).not_to have_content("There are no 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
|