Add some model tests #9

Merged
atomaka merged 7 commits from model-tests into main 2023-11-22 21:41:07 -05:00
Showing only changes of commit b460ae31cf - Show all commits

View file

@ -1,7 +1,60 @@
require "test_helper"
class ExpenseTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
def test_monthly_converts_period_for_monthly
expense = Expense.new(period: :monthly, payment: 120.00)
assert_equal 120.00, expense.monthly
end
def test_monthly_converts_period_for_annually
expense = Expense.new(period: :annually, payment: 120.00)
assert_equal 10.00, expense.monthly
end
def test_monthly_converts_period_for_weekly
expense = Expense.new(period: :weekly, payment: 120.00)
assert_equal 520.00, expense.monthly
end
def test_monthly_converts_period_for_quarterly
expense = Expense.new(period: :quarterly, payment: 120.00)
assert_equal 40.00, expense.monthly
end
def test_total_calculates_total_of_expenses
Expense.destroy_all
Expense.create!(period: :monthly, payment: 120.00)
Expense.create!(period: :annually, payment: 120.00)
Expense.create!(period: :weekly, payment: 120.00)
Expense.create!(period: :quarterly, payment: 120.00)
assert_equal 480.00, Expense.total
end
def test_total_calculates_monthly_total
Expense.destroy_all
Expense.create!(period: :monthly, payment: 120.00)
Expense.create!(period: :annually, payment: 120.00)
Expense.create!(period: :weekly, payment: 120.00)
Expense.create!(period: :quarterly, payment: 120.00)
assert_equal 690.00, Expense.monthly_total
end
def test_total_calculates_credit_card_monthly_total
Expense.destroy_all
Expense.create!(period: :monthly, payment: 120.00, credit_card: true)
Expense.create!(period: :annually, payment: 120.00, credit_card: true)
Expense.create!(period: :weekly, payment: 120.00)
Expense.create!(period: :quarterly, payment: 120.00)
assert_equal 130.00, Expense.credit_card_monthly_total
end
end