mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-25 08:09:38 +02:00
* Move Valuation to Account namespace * Move account history to controller * Clean up valuation controller and views * Translations and cleanup * Remove unused scopes and methods * Pass brakeman
71 lines
1.9 KiB
Ruby
71 lines
1.9 KiB
Ruby
require "test_helper"
|
|
|
|
class Account::ValuationsControllerTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
sign_in @user = users(:family_admin)
|
|
@valuation = account_valuations(:savings_one)
|
|
@account = @valuation.account
|
|
end
|
|
|
|
test "get valuations for an account" do
|
|
get account_valuations_url(@account)
|
|
assert_response :success
|
|
end
|
|
|
|
test "new" do
|
|
get new_account_valuation_url(@account)
|
|
assert_response :success
|
|
end
|
|
|
|
test "should create valuation" do
|
|
assert_difference("Account::Valuation.count") do
|
|
post account_valuations_url(@account), params: {
|
|
account_valuation: {
|
|
value: 19800,
|
|
date: Date.current
|
|
}
|
|
}
|
|
end
|
|
|
|
assert_equal "Valuation created", flash[:notice]
|
|
assert_enqueued_with job: AccountSyncJob
|
|
assert_redirected_to account_path(@account)
|
|
end
|
|
|
|
test "error when valuation already exists for date" do
|
|
assert_difference("Account::Valuation.count", 0) do
|
|
post account_valuations_url(@account), params: {
|
|
account_valuation: {
|
|
value: 19800,
|
|
date: @valuation.date
|
|
}
|
|
}
|
|
end
|
|
|
|
assert_equal "Date has already been taken", flash[:error]
|
|
assert_redirected_to account_path(@account)
|
|
end
|
|
|
|
test "should update valuation" do
|
|
patch account_valuation_url(@account, @valuation), params: {
|
|
account_valuation: {
|
|
value: 19550,
|
|
date: Date.current
|
|
}
|
|
}
|
|
|
|
assert_equal "Valuation updated", flash[:notice]
|
|
assert_enqueued_with job: AccountSyncJob
|
|
assert_redirected_to account_path(@account)
|
|
end
|
|
|
|
test "should destroy valuation" do
|
|
assert_difference("Account::Valuation.count", -1) do
|
|
delete account_valuation_url(@account, @valuation)
|
|
end
|
|
|
|
assert_equal "Valuation deleted", flash[:notice]
|
|
assert_enqueued_with job: AccountSyncJob
|
|
assert_redirected_to account_path(@account)
|
|
end
|
|
end
|