Added tests for edit the name of any Budget::Group
This commit is contained in:
67
spec/features/admin/budget_groups_spec.rb
Normal file
67
spec/features/admin/budget_groups_spec.rb
Normal file
@@ -0,0 +1,67 @@
|
||||
require 'rails_helper'
|
||||
|
||||
feature 'Admin can change the groups name' do
|
||||
|
||||
let(:budget) { create(:budget, phase: 'drafting') }
|
||||
let(:group) { create(:budget_group, budget: budget) }
|
||||
|
||||
background do
|
||||
|
||||
admin = create(:administrator)
|
||||
login_as(admin.user)
|
||||
end
|
||||
|
||||
scenario "Show button" do
|
||||
visit admin_budget_path(group.budget)
|
||||
within("#budget_group_#{group.id}") do
|
||||
expect(page).to have_content(I18n.t("admin.budgets.form.edit_group" ))
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Change name", :js do
|
||||
visit admin_budget_path(group.budget)
|
||||
within("#budget_group_#{group.id}") do
|
||||
click_link I18n.t("admin.budgets.form.edit_group" )
|
||||
within("#group-form-#{group.id}") do
|
||||
fill_in 'budget_group_name', with: 'Google'
|
||||
click_button I18n.t("admin.budgets.form.submit" )
|
||||
end
|
||||
end
|
||||
|
||||
expect(page).to have_content('Google')
|
||||
end
|
||||
|
||||
scenario "Can change name when the budget isn't drafting, but the slug remains", :js do
|
||||
old_slug = group.slug
|
||||
budget.update(phase: 'reviewing')
|
||||
visit admin_budget_path(group.budget)
|
||||
|
||||
within("#budget_group_#{group.id}") do
|
||||
click_link I18n.t("admin.budgets.form.edit_group" )
|
||||
within("#group-form-#{group.id}") do
|
||||
fill_in 'budget_group_name', with: 'Google'
|
||||
click_button I18n.t("admin.budgets.form.submit" )
|
||||
end
|
||||
end
|
||||
|
||||
group.reload
|
||||
|
||||
expect(page).to have_content('Google')
|
||||
expect(group.slug).to eq old_slug
|
||||
end
|
||||
|
||||
scenario "Can't repeat names", :js do
|
||||
group.budget.groups << create(:budget_group, name: 'group_name')
|
||||
visit admin_budget_path(group.budget)
|
||||
within("#budget_group_#{group.id}") do
|
||||
click_link I18n.t("admin.budgets.form.edit_group" )
|
||||
within("#group-form-#{group.id}") do
|
||||
fill_in 'budget_group_name', with: 'group_name'
|
||||
click_button I18n.t("admin.budgets.form.submit" )
|
||||
end
|
||||
end
|
||||
|
||||
expect(page).to have_content(I18n.t("errors.messages.taken"))
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user