2024-02-05 11:00:40 +11:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class AccountsControllerTest < ActionDispatch::IntegrationTest
|
|
|
|
setup do
|
2024-02-27 12:43:49 -05:00
|
|
|
sign_in @user = users(:family_admin)
|
2024-03-04 08:31:22 -05:00
|
|
|
@account = accounts(:checking)
|
2024-02-05 11:00:40 +11:00
|
|
|
end
|
|
|
|
|
|
|
|
test "new" do
|
|
|
|
get new_account_path
|
|
|
|
assert_response :ok
|
|
|
|
end
|
|
|
|
|
|
|
|
test "show" do
|
|
|
|
get account_path(@account)
|
|
|
|
assert_response :ok
|
|
|
|
end
|
|
|
|
|
2024-06-11 18:47:38 -04:00
|
|
|
test "should update account" do
|
|
|
|
patch account_url(@account), params: {
|
|
|
|
account: {
|
|
|
|
is_active: "0"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
assert_redirected_to account_url(@account)
|
|
|
|
assert_equal "Account updated", flash[:notice]
|
|
|
|
end
|
|
|
|
|
2024-05-16 21:57:21 +02:00
|
|
|
test "should create account" do
|
2024-02-05 11:00:40 +11:00
|
|
|
assert_difference -> { Account.count }, +1 do
|
|
|
|
post accounts_path, params: { account: { accountable_type: "Account::Credit" } }
|
2024-06-11 18:47:38 -04:00
|
|
|
assert_redirected_to account_url(Account.order(:created_at).last)
|
2024-02-05 11:00:40 +11:00
|
|
|
end
|
|
|
|
end
|
2024-05-16 21:57:21 +02:00
|
|
|
|
|
|
|
test "should create a valuation together with account" do
|
|
|
|
balance = 700
|
|
|
|
start_date = 3.days.ago.to_date
|
|
|
|
post accounts_path, params: { account: { accountable_type: "Account::Credit", balance:, start_date: } }
|
|
|
|
|
|
|
|
new_valuation = Valuation.order(:created_at).last
|
|
|
|
assert new_valuation.value == balance
|
|
|
|
assert new_valuation.date == start_date
|
|
|
|
end
|
2024-02-05 11:00:40 +11:00
|
|
|
end
|