1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-22 14:49:38 +02:00

Add institution management and account editing controls (#868)

* Add institution management

* Allow user to select institution on create or edit

* Improve redirect behavior

* Final cleanup

* i18n normalization
This commit is contained in:
Zach Gollwitzer 2024-06-13 14:37:27 -04:00 committed by GitHub
parent 8c1a7af37f
commit 9956a9540e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 456 additions and 68 deletions

View file

@ -6,6 +6,15 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
@account = accounts(:checking)
end
test "gets accounts list" do
get accounts_url
assert_response :success
@user.family.accounts.each do |account|
assert_dom "#" + dom_id(account), count: 1
end
end
test "new" do
get new_account_path
assert_response :ok
@ -19,7 +28,9 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
test "should update account" do
patch account_url(@account), params: {
account: {
is_active: "0"
name: "Updated name",
is_active: "0",
institution_id: institutions(:chase).id
}
}
@ -33,7 +44,8 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
account: {
accountable_type: "Account::Depository",
balance: 200,
subtype: "checking"
subtype: "checking",
institution_id: institutions(:chase).id
}
}
@ -49,6 +61,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
accountable_type: "Account::Depository",
balance: 200,
subtype: "checking",
institution_id: institutions(:chase).id,
start_balance: 100,
start_date: 10.days.ago
}

View file

@ -0,0 +1,55 @@
require "test_helper"
class InstitutionsControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in users(:family_admin)
@institution = institutions(:chase)
end
test "should get new" do
get new_institution_url
assert_response :success
end
test "can create institution" do
assert_difference("Institution.count", 1) do
post institutions_url, params: {
institution: {
name: "New institution"
}
}
end
assert_redirected_to accounts_url
assert_equal "Institution created", flash[:notice]
end
test "should get edit" do
get edit_institution_url(@institution)
assert_response :success
end
test "should update institution" do
patch institution_url(@institution), params: {
institution: {
name: "New Institution Name",
logo: file_fixture_upload("square-placeholder.png", "image/png", :binary)
}
}
assert_redirected_to accounts_url
assert_equal "Institution updated", flash[:notice]
end
test "can destroy institution without destroying accounts" do
assert @institution.accounts.count > 0
assert_difference -> { Institution.count } => -1, -> { Account.count } => 0 do
delete institution_url(@institution)
end
assert_redirected_to accounts_url
assert_equal "Institution deleted", flash[:notice]
end
end