Files
nairobi/spec/features/admin/change_log_spec.rb
Javi Martín 98e836ea83 Improve interface of change log table
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.
2019-11-05 13:23:11 +01:00

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