mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-30 10:39:40 +02:00
72 lines
1.9 KiB
Ruby
72 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
|