Enhance jar expense record with expense category name #116
323 passed, 0 failed and 0 skipped
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.account.adapter.web.AccountControllerSpec.xml
4 tests were completed in 2s with 4 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.account.adapter.web.AccountControllerSpec | 4✅ | 2s |
✅ io.myfinbox.account.adapter.web.AccountControllerSpec
✅ should create an new account with default locale
✅ should fail to create an account when request has validation failures
✅ should gen one account when exits
✅ should get not found when account doesn't exit
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.account.application.CreateAccountServiceSpec.xml
33 tests were completed in 79ms with 33 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.account.application.CreateAccountServiceSpec | 33✅ | 79ms |
✅ io.myfinbox.account.application.CreateAccountServiceSpec
✅ should fail account creation when firstName length exceeds limit
✅ should fail account creation when lastName length exceeds limit
✅ should fail account creation when email address is invalid with message: 'Email address cannot be empty.'
✅ should fail account creation when email address is invalid with message: 'Email address cannot be empty.'
✅ should fail account creation when email address is invalid with message: 'Email address cannot be empty.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address must follow RFC 5322 standard.'
✅ should fail account creation when email address is invalid with message: 'Email address length cannot exceed '255' characters.'
✅ should fail account creation when email address is invalid with message: '#errorMessage'
✅ should fail account creation when currency is invalid with message: 'Currency 'null' is invalid.'
✅ should fail account creation when currency is invalid with message: 'Currency '' is invalid.'
✅ should fail account creation when currency is invalid with message: 'Currency ' ' is invalid.'
✅ should fail account creation when currency is invalid with message: 'Currency 'MD' is invalid.'
✅ should fail account creation when currency is invalid with message: '#errorMessage'
✅ should fail account creation when zoneId is invalid with message: 'ZoneId 'null' is invalid.'
✅ should fail account creation when zoneId is invalid with message: 'ZoneId '' is invalid.'
✅ should fail account creation when zoneId is invalid with message: 'ZoneId ' ' is invalid.'
✅ should fail account creation when zoneId is invalid with message: 'ZoneId 'Europe/Chissinau' is invalid.'
✅ should fail account creation when zoneId is invalid with message: '#errorMessage'
✅ should create an account successfully
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.adapter.messaging.AccountEventsListenerSpec.xml
1 tests were completed in 22s with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.adapter.messaging.AccountEventsListenerSpec | 1✅ | 22s |
✅ io.myfinbox.expense.adapter.messaging.AccountEventsListenerSpec
✅ should create default expense categories on account created event
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.adapter.web.ExpenseCategoryControllerSpec.xml
7 tests were completed in 4s with 7 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.adapter.web.ExpenseCategoryControllerSpec | 7✅ | 4s |
✅ io.myfinbox.expense.adapter.web.ExpenseCategoryControllerSpec
✅ Should create a new category expense
✅ should fail creation when request has validation failures
✅ should update an existing category expense name
✅ Should fail update when category not found
✅ should delete an expense category
✅ Should fail delete when expense category is in use
✅ should get a list with two expense category
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.adapter.web.ExpenseControllerSpec.xml
3 tests were completed in 4s with 3 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.adapter.web.ExpenseControllerSpec | 3✅ | 4s |
✅ io.myfinbox.expense.adapter.web.ExpenseControllerSpec
✅ should fail creation when request has validation failures
✅ should fail updating when provided category not found
✅ should fail delete when expense not found
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.CategoryQueryServiceSpec.xml
3 tests were completed in 15ms with 3 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.application.CategoryQueryServiceSpec | 3✅ | 15ms |
✅ io.myfinbox.expense.application.CategoryQueryServiceSpec
✅ should get empty list when categories for provided account id not found
✅ should get empty list when account id is null
✅ should get a list of categories
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.CreateExpenseServiceSpec.xml
18 tests were completed in 95ms with 18 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.application.CreateExpenseServiceSpec | 18✅ | 95ms |
✅ io.myfinbox.expense.application.CreateExpenseServiceSpec
✅ should fail expense creation when accountId is null
✅ should fail expense creation when categoryId is null
✅ should fail expense creation when paymentType is invalid [paymentType: null, failMessage: PaymentType must be 'Cash' or 'Card'., #0]
✅ should fail expense creation when paymentType is invalid [paymentType: , failMessage: PaymentType must be 'Cash' or 'Card'., #1]
✅ should fail expense creation when paymentType is invalid [paymentType: Hola, failMessage: PaymentType must be 'Cash' or 'Card'., #2]
✅ should fail expense creation when paymentType is invalid
✅ should fail expense creation when amount is invalid [value: null, failMessage: Amount cannot be null., #0]
✅ should fail expense creation when amount is invalid [value: 0.0, failMessage: Amount must be a positive value., #1]
✅ should fail expense creation when amount is invalid [value: -25.56, failMessage: Amount must be a positive value., #2]
✅ should fail expense creation when amount is invalid
✅ should fail expense creation when currencyCode is invalid [currencyCode: null, failMessage: CurrencyCode cannot be null., #0]
✅ should fail expense creation when currencyCode is invalid [currencyCode: , failMessage: CurrencyCode is not valid., #1]
✅ should fail expense creation when currencyCode is invalid [currencyCode: US, failMessage: CurrencyCode is not valid., #2]
✅ should fail expense creation when currencyCode is invalid [currencyCode: MDLA, failMessage: CurrencyCode is not valid., #3]
✅ should fail expense creation when currencyCode is invalid
✅ should fail expense creation when expenseDate is null
✅ should fail expense creation when category is not found
✅ should create an expense
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.DefaultCategoryServiceSpec.xml
25 tests were completed in 259ms with 25 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.application.DefaultCategoryServiceSpec | 25✅ | 259ms |
✅ io.myfinbox.expense.application.DefaultCategoryServiceSpec
✅ should fail to create default categories when account is null
✅ should successfully create default categories for the provided account
✅ should fail category creation when accountId is null
✅ should fail category creation when name is not valid [categoryName: null, failMessage: Name cannot be empty., #0]
✅ should fail category creation when name is not valid [categoryName: , failMessage: Name cannot be empty., #1]
✅ should fail category creation when name is not valid [categoryName: , failMessage: Name cannot be empty., #2]
✅ should fail category creation when name is not valid [categoryName: FlilP6D6KXpRXQCRJyBvSewaSNyMDkc0vAMh8EjaRmrK8KQd2E51lKvbgdGHj05gBXNY1kGz3Sijm8Ss71399HYeSbLk5Oegz6gSXffZlXWzVMPIUp5iS7DQ476qNxSo11NcEqCKGHL33D5rcs5GREIPzs7ZWWzUzRIkTkCQly8prJ3NPFwTBuTA4HR588K4EbK7xfy5zfqY9BTx4UBPE9dBBhebHqiD2fbtfKbXGRAQFdJphjuZwFVacOycziy4, failMessage: Name length cannot exceed 100 characters., #3]
✅ should fail category creation when name is not valid
✅ should fail category creation when name is duplicate
✅ should successfully create a new expense category
✅ should fail category update when accountId is null
✅ should fail category update when name is not valid [categoryName: null, failMessage: Name cannot be empty., #0]
✅ should fail category update when name is not valid [categoryName: , failMessage: Name cannot be empty., #1]
✅ should fail category update when name is not valid [categoryName: , failMessage: Name cannot be empty., #2]
✅ should fail category update when name is not valid [categoryName: ZhRQ8uV7hwq2vU6rR8AqHC1Jh5FuRQCKFMoCKQ3m3QhVZdIWz7GoIDHY2tua7DEKiQciM2i2KPIMJAoG81J1x8PwPufoXyKbHwHSDXmAL6LYNl4aQBBu6eOTj63BbYK2PMNBKWJygmuyFFgx9MEvJqiskP8PUpp4AfP4Ax2NGnZHVVNlokzG5yqD3Fhwqu1Pzj0CgaORTbpnMN3rWPYoSNeRTiXapEScqN8TCgiEGz8hYiRGydJSk8RSBD1JoD5w, failMessage: Name length cannot exceed 100 characters., #3]
✅ should fail category update when name is not valid
✅ should fail category update when category not found, null categoryId
✅ should fail category update when category not found, no DB existence
✅ should not update category name when name not changed
✅ should fail category update when name is duplicate
✅ should update an existing expense category with a new name
✅ should fail to delete category when category not found, categoryId is null
✅ should fail to delete category when category not found in the database
✅ should fail to delete category when category is in use
✅ should successfully delete a category when no expenses are associated with it
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.DeleteExpenseServiceSpec.xml
3 tests were completed in 19ms with 3 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.application.DeleteExpenseServiceSpec | 3✅ | 19ms |
✅ io.myfinbox.expense.application.DeleteExpenseServiceSpec
✅ should fail delete when expense id is null
✅ should fail delete when expense not found
✅ should delete an expense
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.UpdateExpenseServiceSpec.xml
20 tests were completed in 1s with 20 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.expense.application.UpdateExpenseServiceSpec | 20✅ | 1s |
✅ io.myfinbox.expense.application.UpdateExpenseServiceSpec
✅ should fail expense updating when accountId is null
✅ should fail expense updating when categoryId is null
✅ should fail expense updating when paymentType is invalid [paymentType: null, failMessage: PaymentType must be 'Cash' or 'Card'., #0]
✅ should fail expense updating when paymentType is invalid [paymentType: , failMessage: PaymentType must be 'Cash' or 'Card'., #1]
✅ should fail expense updating when paymentType is invalid [paymentType: Hola, failMessage: PaymentType must be 'Cash' or 'Card'., #2]
✅ should fail expense updating when paymentType is invalid
✅ should fail expense updating when amount is invalid [value: null, failMessage: Amount cannot be null., #0]
✅ should fail expense updating when amount is invalid [value: 0.0, failMessage: Amount must be a positive value., #1]
✅ should fail expense updating when amount is invalid [value: -25.56, failMessage: Amount must be a positive value., #2]
✅ should fail expense updating when amount is invalid
✅ should fail expense updating when currencyCode is invalid [currencyCode: null, failMessage: CurrencyCode cannot be null., #0]
✅ should fail expense updating when currencyCode is invalid [currencyCode: , failMessage: CurrencyCode is not valid., #1]
✅ should fail expense updating when currencyCode is invalid [currencyCode: US, failMessage: CurrencyCode is not valid., #2]
✅ should fail expense updating when currencyCode is invalid [currencyCode: MDLA, failMessage: CurrencyCode is not valid., #3]
✅ should fail expense updating when currencyCode is invalid
✅ should fail expense updating when expenseDate is null
✅ should fail expense updating when expense ID is null
✅ should fail expense updating when expense is not found
✅ should fail expense updating when expense category is not found
✅ should update an expense
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.adapter.messaging.AccountEventsListenerSpec.xml
1 tests were completed in 2s with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.adapter.messaging.AccountEventsListenerSpec | 1✅ | 2s |
✅ io.myfinbox.income.adapter.messaging.AccountEventsListenerSpec
✅ should create default income sources on account created event
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.adapter.web.IncomeControllerSpec.xml
6 tests were completed in 2s with 6 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.adapter.web.IncomeControllerSpec | 6✅ | 2s |
✅ io.myfinbox.income.adapter.web.IncomeControllerSpec
✅ should create a new income
✅ should fail creation when request has validation failures
✅ should update an income
✅ should fail updating when provided income source not found
✅ should delete an income
✅ should fail delete when income not found
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.adapter.web.IncomeSourceControllerSpec.xml
7 tests were completed in 104ms with 7 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.adapter.web.IncomeSourceControllerSpec | 7✅ | 104ms |
✅ io.myfinbox.income.adapter.web.IncomeSourceControllerSpec
✅ should create a new income source
✅ should fail income source creation when request has validation failures
✅ should update an existing income source name
✅ Should fail update when income source not found
✅ should delete an income source
✅ should fail delete when income source is in use
✅ should get a list with two income source
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.CreateIncomeServiceSpec.xml
18 tests were completed in 66ms with 18 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.application.CreateIncomeServiceSpec | 18✅ | 66ms |
✅ io.myfinbox.income.application.CreateIncomeServiceSpec
✅ should fail income creation when accountId is null
✅ should fail income creation when incomeSourceId is null
✅ should fail income creation when paymentType is invalid [paymentType: null, failMessage: PaymentType must be 'Cash' or 'Card'., #0]
✅ should fail income creation when paymentType is invalid [paymentType: , failMessage: PaymentType must be 'Cash' or 'Card'., #1]
✅ should fail income creation when paymentType is invalid [paymentType: Hola, failMessage: PaymentType must be 'Cash' or 'Card'., #2]
✅ should fail income creation when paymentType is invalid
✅ should fail income creation when amount is invalid [value: null, failMessage: Amount cannot be null., #0]
✅ should fail income creation when amount is invalid [value: 0.0, failMessage: Amount must be a positive value., #1]
✅ should fail income creation when amount is invalid [value: -25.56, failMessage: Amount must be a positive value., #2]
✅ should fail income creation when amount is invalid
✅ should fail income creation when currencyCode is invalid [currencyCode: null, failMessage: CurrencyCode cannot be null., #0]
✅ should fail income creation when currencyCode is invalid [currencyCode: , failMessage: CurrencyCode is not valid., #1]
✅ should fail income creation when currencyCode is invalid [currencyCode: US, failMessage: CurrencyCode is not valid., #2]
✅ should fail income creation when currencyCode is invalid [currencyCode: MDLA, failMessage: CurrencyCode is not valid., #3]
✅ should fail income creation when currencyCode is invalid
✅ should fail income creation when incomeDate is null
✅ should fail income creation when income source is not found
✅ should create an income
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.DefaultIncomeSourceServiceSpec.xml
25 tests were completed in 82ms with 25 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.application.DefaultIncomeSourceServiceSpec | 25✅ | 82ms |
✅ io.myfinbox.income.application.DefaultIncomeSourceServiceSpec
✅ should fail create default income sources when account is null
✅ should create income sources
✅ should fail income source creation when accountId is null
✅ should fail income source creation when name is not valid [incomeSourceName: null, failMessage: Name cannot be empty., #0]
✅ should fail income source creation when name is not valid [incomeSourceName: , failMessage: Name cannot be empty., #1]
✅ should fail income source creation when name is not valid [incomeSourceName: , failMessage: Name cannot be empty., #2]
✅ should fail income source creation when name is not valid [incomeSourceName: X4WtN0icA2sJtK0hT05uOoiiHKn5Dr15Q3bKAwzabJ05VbpqYLlF15jpcVPQw2DcIAXXkfzsMRW0R594eXi9wUs5hUukG4goZUtAFNMsiQ7oxQi94ULG6UThk482E8SOFFztPkMGxZh4z5CamLBKg3PjPPF4GXubJcz7IPb86GShDcXXF2MHBckFJqjzpve8eTVuleht6Xp2YnvKuiacnX3njLvYFSvW9Nm7mkYbm27NJg9hV52Z4l2B76axO7hv, failMessage: Name length cannot exceed 100 characters., #3]
✅ should fail income source creation when name is not valid
✅ should fail income source creation when name is duplicate
✅ should successfully create a new income source
✅ should fail income source update when accountId is null
✅ should fail income source update when name is not valid [incomeSourceName: null, failMessage: Name cannot be empty., #0]
✅ should fail income source update when name is not valid [incomeSourceName: , failMessage: Name cannot be empty., #1]
✅ should fail income source update when name is not valid [incomeSourceName: , failMessage: Name cannot be empty., #2]
✅ should fail income source update when name is not valid [incomeSourceName: idMGIdFHmKxHFRhYbwR2y2fBW6P7Maq2pwuLu2HqR4t5n1KMY9inbZ3iu44LkcpRVYkWJqswIpt1ntHdqJysnw6cdZvlkVllNO91xBQl2iSnEjzqfILTMYsnEukOPXeyAOzBSu4Q8MX6kJioy5gUY5TwtttYM17COvv97hyROGyAncFjkSSZvWj8WOCKbI3pizjI7r8WRNFblNF4qOxKGDy7cr3sKJQmcjMJ81OggbwKx2RT4QJfCvWyStTtl6iW, failMessage: Name length cannot exceed 100 characters., #3]
✅ should fail income source update when name is not valid
✅ should fail income source update when income source not found, null income source
✅ should fail income source update when income source not found, no DB existence
✅ should not update income source name when name not changed
✅ should fail income source update when name is duplicate
✅ should update an existing income source with a new name
✅ should fail to delete income source when income source not found, incomeSourceId is null
✅ should fail to delete income source when income source not found in the database
✅ should fail to delete income source when income source is in use
✅ should successfully delete a income source when no incomes are associated with it
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.DeleteIncomeServiceSpec.xml
3 tests were completed in 9ms with 3 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.application.DeleteIncomeServiceSpec | 3✅ | 9ms |
✅ io.myfinbox.income.application.DeleteIncomeServiceSpec
✅ should fail delete when income id is null
✅ should fail delete when income not found
✅ should delete an income
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.IncomeSourceQueryServiceSpec.xml
3 tests were completed in 6ms with 3 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.application.IncomeSourceQueryServiceSpec | 3✅ | 6ms |
✅ io.myfinbox.income.application.IncomeSourceQueryServiceSpec
✅ should get empty list when income sources for provided account id not found
✅ should get empty list when account id is null
✅ should get a list of income sources
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.UpdateIncomeServiceSpec.xml
20 tests were completed in 37ms with 20 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.income.application.UpdateIncomeServiceSpec | 20✅ | 37ms |
✅ io.myfinbox.income.application.UpdateIncomeServiceSpec
✅ should fail income updating when accountId is null
✅ should fail income updating when incomeSourceId is null
✅ should fail income updating when paymentType is invalid [paymentType: null, failMessage: PaymentType must be 'Cash' or 'Card'., #0]
✅ should fail income updating when paymentType is invalid [paymentType: , failMessage: PaymentType must be 'Cash' or 'Card'., #1]
✅ should fail income updating when paymentType is invalid [paymentType: Hola, failMessage: PaymentType must be 'Cash' or 'Card'., #2]
✅ should fail income updating when paymentType is invalid
✅ should fail income updating when amount is invalid [value: null, failMessage: Amount cannot be null., #0]
✅ should fail income updating when amount is invalid [value: 0.0, failMessage: Amount must be a positive value., #1]
✅ should fail income updating when amount is invalid [value: -25.56, failMessage: Amount must be a positive value., #2]
✅ should fail income updating when amount is invalid
✅ should fail income updating when currencyCode is invalid [currencyCode: null, failMessage: CurrencyCode cannot be null., #0]
✅ should fail income updating when currencyCode is invalid [currencyCode: , failMessage: CurrencyCode is not valid., #1]
✅ should fail income updating when currencyCode is invalid [currencyCode: US, failMessage: CurrencyCode is not valid., #2]
✅ should fail income updating when currencyCode is invalid [currencyCode: MDLA, failMessage: CurrencyCode is not valid., #3]
✅ should fail income updating when currencyCode is invalid
✅ should fail income updating when incomeDate is null
✅ should fail income updating when income id null with income not found
✅ should fail income updating when income is not found
✅ should fail income updating when income source is not found
✅ should update an income
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.ModularitySpec.xml
2 tests were completed in 5s with 2 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.ModularitySpec | 2✅ | 5s |
✅ io.myfinbox.ModularitySpec
✅ should verify modular structure
✅ should write documentation snippets
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.ServerApplicationSpec.xml
1 tests were completed in 6ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.ServerApplicationSpec | 1✅ | 6ms |
✅ io.myfinbox.ServerApplicationSpec
✅ should load contexts
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.shared.ApiExceptionHandlerSpec.xml
7 tests were completed in 417ms with 7 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.shared.ApiExceptionHandlerSpec | 7✅ | 417ms |
✅ io.myfinbox.shared.ApiExceptionHandlerSpec
✅ should get Bad Request when message not readable exception
✅ should get Bad Request when type mismatch exception
✅ should get Not Found when no handler found exception
✅ should get Method Not Allowed when request method not supported exception
✅ should get Not Acceptable when media type not acceptable exception
✅ should get Unsupported media type when media type not supported exception
✅ should get Internal Server Error when unexpected exception thrown
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.shared.ApiFailureHandlerSpec.xml
6 tests were completed in 54ms with 6 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.shared.ApiFailureHandlerSpec | 6✅ | 54ms |
✅ io.myfinbox.shared.ApiFailureHandlerSpec
✅ should throw NullPointerException when null failure
✅ should get conflict API response when conflict failure
✅ should get not found API response when not fount failure
✅ should get forbidden API response when action not allowed
✅ should get unprocessable entity API response when validation failure
✅ should throw IllegalArgumentException when not failure handler
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.messaging.ExpenseEventsListenerSpec.xml
4 tests were completed in 3s with 4 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.adapter.messaging.ExpenseEventsListenerSpec | 4✅ | 3s |
✅ io.myfinbox.spendingplan.adapter.messaging.ExpenseEventsListenerSpec
✅ should record received expense created event
✅ should record received expense updated event
✅ should record received expense updated event when category changed
✅ should record received expense deleted event when category
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.converters.JarToResourceConverterSpec.xml
1 tests were completed in 5ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.adapter.web.converters.JarToResourceConverterSpec | 1✅ | 5ms |
✅ io.myfinbox.spendingplan.adapter.web.converters.JarToResourceConverterSpec
✅ should convert jar to resource
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.converters.PlanToResourceConverterSpec.xml
1 tests were completed in 17ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.adapter.web.converters.PlanToResourceConverterSpec | 1✅ | 17ms |
✅ io.myfinbox.spendingplan.adapter.web.converters.PlanToResourceConverterSpec
✅ should convert plan to resource
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.JarControllerSpec.xml
9 tests were completed in 3s with 9 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.adapter.web.JarControllerSpec | 9✅ | 3s |
✅ io.myfinbox.spendingplan.adapter.web.JarControllerSpec
✅ should create a new jar for an existing spending plan
✅ should fail creation when request has validation failures
✅ should fail creation when request resource jar percentage is greater than allowed
✅ should modify provided category list
✅ should fail to modify when plan jar not found
✅ should get one existing spending jar
✅ should get not found when spending jar was not found
✅ should get a list with one existing spending jar for provided planId
✅ should get a list of expense categories
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.PlanControllerSpec.xml
9 tests were completed in 3s with 9 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.adapter.web.PlanControllerSpec | 9✅ | 3s |
✅ io.myfinbox.spendingplan.adapter.web.PlanControllerSpec
✅ should successfully create a new spending plan
✅ should fail creation when request has validation failures
✅ should create a new classic spending plan
✅ should fail classic plan creation when request has validation failures
✅ should update an existing spending plan
✅ should fail updating when request has validation failures
✅ should get one existing spending plan
✅ should get not found when spending plan doesn't exit
✅ should get a list with one spending plan for provided account
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.AddOrRemoveJarCategoryServiceSpec.xml
9 tests were completed in 48ms with 9 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.AddOrRemoveJarCategoryServiceSpec | 9✅ | 48ms |
✅ io.myfinbox.spendingplan.application.AddOrRemoveJarCategoryServiceSpec
✅ should fail modify categories to jar when invalid categories [categories: null, failMessage: At least one category must be provided., #0]
✅ should fail modify categories to jar when invalid categories [categories: [], failMessage: At least one category must be provided., #1]
✅ should fail modify categories to jar when invalid categories [categories: [[categoryId:null, categoryName:Clothing, toAdd:true]], failMessage: Null categoryId not allowed., #2]
✅ should fail modify categories to jar when invalid categories [categories: [[categoryId:e2709aa2-7907-4f78-98b6-0f36a0c1b5ca, categoryName:Clothing, toAdd:true], [categoryId:e2709aa2-7907-4f78-98b6-0f36a0c1b5ca, categoryName:Clothing, toAdd:true]], failMessage: Duplicate category ids provided., #3]
✅ should fail modify categories to jar when invalid categories
✅ should fail modify categories to jar when null plan ID
✅ should fail modify categories to jar when null jar ID
✅ should fail modify categories to jar when plan jar not found
✅ should modify categories to plan jar successfully
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.ClassicPlanBuilderServiceSpec.xml
3 tests were completed in 30ms with 3 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.ClassicPlanBuilderServiceSpec | 3✅ | 30ms |
✅ io.myfinbox.spendingplan.application.ClassicPlanBuilderServiceSpec
✅ should fail classic plan creation when plan validation failure
✅ should fail classic plan creation when jar validation failure
✅ should create a classic plan creation successfully
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.CreateJarServiceSpec.xml
14 tests were completed in 48ms with 14 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.CreateJarServiceSpec | 14✅ | 48ms |
✅ io.myfinbox.spendingplan.application.CreateJarServiceSpec
✅ should fail jar creation when name is invalid [jar: null, failMessage: Name cannot be empty., #0]
✅ should fail jar creation when name is invalid [jar: , failMessage: Name cannot be empty., #1]
✅ should fail jar creation when name is invalid [jar: , failMessage: Name cannot be empty., #2]
✅ should fail jar creation when name is invalid [jar: XKwhULZeQhIkDfPA7mbgArgXKuiDHIFw4uMZPonUn4sihEVy2awe6OZZPwXZj7i67LUAtcIvQm7VpRuiGtlzdbcVFsaHiWf3wVliyHoOkNVRnDO0C3Lv1Ft8P3tWOjm3M6SnTDbpfw8Gg5QW98tV2hBV9Ib2mQMdV92pqsOILPAatoDk98vzmkt2yizgPZu1kS07QjJ7blqh4e8QvuyBl7e7SkL5OCxdJnK6fBd3stXIxT7xWmCwgg7q3mfeVtDi, failMessage: Name length cannot exceed 255 characters., #3]
✅ should fail jar creation when name is invalid
✅ should fail jar creation when percentage is invalid [percentage: null, failMessage: Percentage cannot be null., #0]
✅ should fail jar creation when percentage is invalid [percentage: 0, failMessage: Percentage must be between 1 and 100., #1]
✅ should fail jar creation when percentage is invalid [percentage: -1, failMessage: Percentage must be between 1 and 100., #2]
✅ should fail jar creation when percentage is invalid [percentage: 101, failMessage: Percentage must be between 1 and 100., #3]
✅ should fail jar creation when percentage is invalid
✅ should fail jar creation when planId is null
✅ should fail jar creation when plan not found
✅ should fail plan creation when jar name for provided name already exists
✅ should create a new jar successfully
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.CreatePlanServiceSpec.xml
17 tests were completed in 34ms with 17 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.CreatePlanServiceSpec | 17✅ | 34ms |
✅ io.myfinbox.spendingplan.application.CreatePlanServiceSpec
✅ should fail plan creation when accountId is null
✅ should fail plan creation when name is invalid [planName: null, failMessage: Name cannot be empty., #0]
✅ should fail plan creation when name is invalid [planName: , failMessage: Name cannot be empty., #1]
✅ should fail plan creation when name is invalid [planName: , failMessage: Name cannot be empty., #2]
✅ should fail plan creation when name is invalid [planName: bZxX1uXsRwN98NgWQirbdHNDFZRBGTYzg7LdlHUtCfGUDZ40dY4SPBGt3hK0Vo4rGWlHtaUJsmGQcGSnBzr5LAgLMiR7ReHNp0lOpNjA2hWo54ZPRk1IoxujuoS1XyoCuFt3fDls9mhwk6aLT35zQ8mPiPwUxfaC2CnxKiLebCzzpH6Td8mGII5TTbNVzmpjcYdlBKuL4DS8d8OBPPRFkfVZyszJbaYyx3nnvF15iK1mwxiSg1eVAStLTvFSlwF8, failMessage: Name length cannot exceed 255 characters., #3]
✅ should fail plan creation when name is invalid
✅ should fail plan creation when amount is invalid [value: null, failMessage: Amount cannot be null., #0]
✅ should fail plan creation when amount is invalid [value: 0.0, failMessage: Amount must be a positive value., #1]
✅ should fail plan creation when amount is invalid [value: -25.56, failMessage: Amount must be a positive value., #2]
✅ should fail plan creation when amount is invalid
✅ should fail plan creation when currencyCode is invalid [currencyCode: null, failMessage: CurrencyCode cannot be null., #0]
✅ should fail plan creation when currencyCode is invalid [currencyCode: , failMessage: CurrencyCode is not valid., #1]
✅ should fail plan creation when currencyCode is invalid [currencyCode: US, failMessage: CurrencyCode is not valid., #2]
✅ should fail plan creation when currencyCode is invalid [currencyCode: MDLA, failMessage: CurrencyCode is not valid., #3]
✅ should fail plan creation when currencyCode is invalid
✅ should fail plan creation when plan name already exit
✅ should create a new plan
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.ExpenseRecordTrackerServiceSpec.xml
8 tests were completed in 126ms with 8 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.ExpenseRecordTrackerServiceSpec | 8✅ | 126ms |
✅ io.myfinbox.spendingplan.application.ExpenseRecordTrackerServiceSpec
✅ should retrieve empty records when no category is tracked for a newly created expense record
✅ should create two expense records when category is tracked
✅ should return empty records when updating an expense with no existing records
✅ should update two expense records when category is tracked
✅ should create two new expense records when category is changed, with each record linked to the new category
✅ should create one new expense record when category is changed, linked to the new category
✅ should return empty records when attempting to delete a non-existent expense
✅ should delete one record when deleting an existing expense
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.JarExpenseCategoryQueryServiceSpec.xml
4 tests were completed in 13ms with 4 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.JarExpenseCategoryQueryServiceSpec | 4✅ | 13ms |
✅ io.myfinbox.spendingplan.application.JarExpenseCategoryQueryServiceSpec
✅ should get empty list when planId is not provided
✅ should get empty list when jarId is not provided
✅ should get empty list when jarId for provided planId is not found
✅ should get a list with one jar expense category
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.JarQueryServiceSpec.xml
4 tests were completed in 17ms with 4 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.JarQueryServiceSpec | 4✅ | 17ms |
✅ io.myfinbox.spendingplan.application.JarQueryServiceSpec
✅ should get empty list when planId and jarId are not provided
✅ should get a list with one jar when planId and jarId are provided
✅ should get a list with one jar when jarId is provided
✅ should get a list with one jar when planId is provided
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.PlanQueryServiceSpec.xml
4 tests were completed in 15ms with 4 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.PlanQueryServiceSpec | 4✅ | 15ms |
✅ io.myfinbox.spendingplan.application.PlanQueryServiceSpec
✅ should get empty list when accountId and planId are not provided
✅ should get a list with one plan when accountId and planId are provided
✅ should get a list with one plan when accountId is provided
✅ should get a list with one plan when planId is provided
✅ /home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.UpdatePlanServiceSpec.xml
20 tests were completed in 60ms with 20 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
io.myfinbox.spendingplan.application.UpdatePlanServiceSpec | 20✅ | 60ms |
✅ io.myfinbox.spendingplan.application.UpdatePlanServiceSpec
✅ should fail plan updating when accountId is null
✅ should fail plan updating when name is invalid [planName: null, failMessage: Name cannot be empty., #0]
✅ should fail plan updating when name is invalid [planName: , failMessage: Name cannot be empty., #1]
✅ should fail plan updating when name is invalid [planName: , failMessage: Name cannot be empty., #2]
✅ should fail plan updating when name is invalid [planName: SAFcGqH7jF8ct8Q8b2OVstrpk1a0APzgU4lgQgYbAXB4CRjMwOm6e4l5gTqJdumKjYSdhIRJdOb7zrLKjm9mZ32MNsYbhutVM7lEWlzRtEcktxfz3oTgJiu50igRMDK6x35isRnwsfLlY4kNLi6Of9eUfsJx3tXnKSgg2uVYQkSdQuMIElS9kD0ZyfrVht0EFuwQF2ZzZTjCc7NNtGePPyoWn5EyeDzYvEBSKRWpuSzR0g08tAvZbziltEyg0Lg2, failMessage: Name length cannot exceed 255 characters., #3]
✅ should fail plan updating when name is invalid
✅ should fail plan updating when amount is invalid [value: null, failMessage: Amount cannot be null., #0]
✅ should fail plan updating when amount is invalid [value: 0.0, failMessage: Amount must be a positive value., #1]
✅ should fail plan updating when amount is invalid [value: -25.56, failMessage: Amount must be a positive value., #2]
✅ should fail plan updating when amount is invalid
✅ should fail plan updating when currency code is invalid [currencyCode: null, failMessage: CurrencyCode cannot be null., #0]
✅ should fail plan updating when currency code is invalid [currencyCode: , failMessage: CurrencyCode is not valid., #1]
✅ should fail plan updating when currency code is invalid [currencyCode: US, failMessage: CurrencyCode is not valid., #2]
✅ should fail plan updating when currency code is invalid [currencyCode: MDLA, failMessage: CurrencyCode is not valid., #3]
✅ should fail plan updating when currency code is invalid
✅ should fail plan update when plan id is null
✅ should fail plan update when plan not found
✅ should skip update when plan not changed
✅ should fail plan update when plan name already exists
✅ should update plan successfully