@@ -18,6 +18,12 @@ func (suite *TestSuiteEnv) TestBudgetCalculations() {
1818 suite .Assert ().Fail ("Resource could not be saved" , err )
1919 }
2020
21+ emptyBudget := models.Budget {}
22+ err = database .DB .Save (& emptyBudget ).Error
23+ if err != nil {
24+ suite .Assert ().Fail ("Resource could not be saved" , err )
25+ }
26+
2127 bankAccount := models.Account {
2228 AccountCreate : models.AccountCreate {
2329 BudgetID : budget .ID ,
@@ -149,15 +155,27 @@ func (suite *TestSuiteEnv) TestBudgetCalculations() {
149155 shouldBalance := decimal .NewFromFloat (5489.38 )
150156 assert .True (suite .T (), budget .Balance .Equal (shouldBalance ), "Balance for budget is not correct. Should be %s, is %s" , shouldBalance , budget .Balance )
151157
158+ // Verify income for used budget in March
152159 shouldIncome := decimal .NewFromFloat (2800 )
153160 income , err := budget .Income (marchFifteenthTwentyTwentyTwo )
154161 assert .Nil (suite .T (), err )
155162 assert .True (suite .T (), income .Equal (shouldIncome ), "Income is %s, should be %s" , income , shouldIncome )
156163
164+ // Verify total income for used budget
157165 shouldIncomeTotal := decimal .NewFromFloat (5600 )
158166 income , err = budget .TotalIncome ()
159167 assert .Nil (suite .T (), err )
160168 assert .True (suite .T (), income .Equal (shouldIncomeTotal ), "Income is %s, should be %s" , income , shouldIncomeTotal )
169+
170+ // Verify income for empty budget in March
171+ income , err = emptyBudget .Income (marchFifteenthTwentyTwentyTwo )
172+ assert .Nil (suite .T (), err )
173+ assert .True (suite .T (), income .IsZero (), "Income is %s, should be 0" , income )
174+
175+ // Verify total income for empty budget
176+ income , err = emptyBudget .TotalIncome ()
177+ assert .Nil (suite .T (), err )
178+ assert .True (suite .T (), income .IsZero (), "Income is %s, should be 0" , income )
161179}
162180
163181func (suite * TestSuiteEnv ) TestMonthIncomeNoTransactions () {
0 commit comments