Skip to content

Expose jar expense category query api #112

Expose jar expense category query api

Expose jar expense category query api #112

GitHub Actions / Test Reports succeeded Aug 17, 2024 in 0s

326 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.account.adapter.web.AccountControllerSpec.xml 4✅ 2s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.account.application.CreateAccountServiceSpec.xml 33✅ 66ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.adapter.messaging.AccountEventsListenerSpec.xml 1✅ 21s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.adapter.web.ExpenseCategoryControllerSpec.xml 7✅ 4s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.adapter.web.ExpenseControllerSpec.xml 6✅ 3s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.CategoryQueryServiceSpec.xml 3✅ 17ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.CreateExpenseServiceSpec.xml 18✅ 109ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.DefaultCategoryServiceSpec.xml 25✅ 246ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.DeleteExpenseServiceSpec.xml 3✅ 21ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.expense.application.UpdateExpenseServiceSpec.xml 20✅ 1s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.adapter.messaging.AccountEventsListenerSpec.xml 1✅ 2s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.adapter.web.IncomeControllerSpec.xml 6✅ 2s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.adapter.web.IncomeSourceControllerSpec.xml 7✅ 110ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.CreateIncomeServiceSpec.xml 18✅ 61ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.DefaultIncomeSourceServiceSpec.xml 25✅ 77ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.DeleteIncomeServiceSpec.xml 3✅ 11ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.IncomeSourceQueryServiceSpec.xml 3✅ 7ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.income.application.UpdateIncomeServiceSpec.xml 20✅ 36ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.ModularitySpec.xml 2✅ 5s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.ServerApplicationSpec.xml 1✅ 5ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.shared.ApiExceptionHandlerSpec.xml 7✅ 403ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.shared.ApiFailureHandlerSpec.xml 6✅ 57ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.messaging.ExpenseEventsListenerSpec.xml 4✅ 3s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.converters.JarToResourceConverterSpec.xml 1✅ 7ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.converters.PlanToResourceConverterSpec.xml 1✅ 29ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.JarControllerSpec.xml 9✅ 3s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.adapter.web.PlanControllerSpec.xml 9✅ 3s
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.AddOrRemoveJarCategoryServiceSpec.xml 9✅ 55ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.ClassicPlanBuilderServiceSpec.xml 3✅ 31ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.CreateJarServiceSpec.xml 14✅ 40ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.CreatePlanServiceSpec.xml 17✅ 33ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.ExpenseRecordTrackerServiceSpec.xml 8✅ 126ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.JarExpenseCategoryQueryServiceSpec.xml 4✅ 10ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.JarQueryServiceSpec.xml 4✅ 17ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.PlanQueryServiceSpec.xml 4✅ 17ms
/home/runner/work/myfinbox/myfinbox/server/target/failsafe-reports/TEST-io.myfinbox.spendingplan.application.UpdatePlanServiceSpec.xml 20✅ 63ms

✅ /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 66ms with 33 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.account.application.CreateAccountServiceSpec 33✅ 66ms

✅ 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 21s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.expense.adapter.messaging.AccountEventsListenerSpec 1✅ 21s

✅ 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

6 tests were completed in 3s with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.expense.adapter.web.ExpenseControllerSpec 6✅ 3s

✅ io.myfinbox.expense.adapter.web.ExpenseControllerSpec

✅ should create a new expense
✅ should fail creation when request has validation failures
✅ should update an expense
✅ should fail updating when provided category not found
✅ should delete an expense
✅ 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 17ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.expense.application.CategoryQueryServiceSpec 3✅ 17ms

✅ 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 109ms with 18 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.expense.application.CreateExpenseServiceSpec 18✅ 109ms

✅ 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 246ms with 25 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.expense.application.DefaultCategoryServiceSpec 25✅ 246ms

✅ 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: MkgVfUOyKd8w3Jx7txa9E9VCNCB5w61ZaBhtWylhZbAuD4VI8gMmreVqPL4csRy15QcFrQ6uwJeVzxgry4LJUPK7tJl8VyDKnt2wI602qjR07hrdxbFSMDNA1OB3KDT0fD5UPGQMReTbKu3Jhsg2qxAvZePKZziJmJTcx31H0pQrL2IeOuViTqiePzEjSQTQ7XIeaBr5v8aw4dx2QNvEjldO8F1o22dAeRBnlU7AbibFVyZmOMSEywzQhLxP5Fu7, 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: E5WkyTEhJxygc2xrFmLHumNAvJZ65Oa11Hk2sokcILZqqb6dYC1kxCzyPHGznxThqdHQNqWAmOQfJOXVxF1XEZp71pFsIThFP7wjUQb8c4Zl6zw5OdS4OWzVP4z3ZYMm3JQbzXobrGTdBKs6H6TAF9WP4n9J5Yc7PwTIt5CFGUScqZbA1wkNnADKdJj039rppyofWxq4iNGfPkj5FsBPYbEEBXKs7kn7vv6OLawKCZB5D7oWjcObPAqTz22oaY0G, 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 21ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.expense.application.DeleteExpenseServiceSpec 3✅ 21ms

✅ 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 110ms with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.income.adapter.web.IncomeSourceControllerSpec 7✅ 110ms

✅ 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 61ms with 18 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.income.application.CreateIncomeServiceSpec 18✅ 61ms

✅ 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 77ms with 25 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.income.application.DefaultIncomeSourceServiceSpec 25✅ 77ms

✅ 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: ZVPXfHPBkbHW6sdhRq5lDauuodOWOZvHYEqtyMEAY8BzR2iFBX1QGOOAVa0O7n3rU4WXMAOXfGiZzGnBwz3A1rXO6PLE1JkESs63SNaooVwQ4Xsw0ZzwndJlWmSlDTG4WEKiUJuDcoNWSk4bbXYdWqhSsfgmfY7mqwaUWfHoC4tfTVq6EQZ7eDMWzkcOD3L1v4iZIL884XRGE8trrsKfsKGTlqVIWvKKVmFwgK2z5TDTS2hRjrh7EAwSjlHJtWWV, 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: JBBt6CA6hbE3qALzdsIJbb23N55AedZJRsvVmdPqgVjgM0FpjjlPFE1n8bMuaZp4glUgkvgaQ8dwA6Q2gcC5FcHuuL7jENGUls7rNDW3H21r9XDsFavA0oQFbRGZLWc9czSDq6ihx6GFw3DH7IYAT7V4OzzzcFc9GsVmeM2H9uWyrSH665PNhiGB4JK9Ax4QHPyoSFoYP9LOgGI9iS2hI5OK2Ow3FCbilvJWOrExNDw9rJW0Wi2CH0VRiasmFgLK, 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 11ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.income.application.DeleteIncomeServiceSpec 3✅ 11ms

✅ 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 7ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.income.application.IncomeSourceQueryServiceSpec 3✅ 7ms

✅ 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 36ms with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.income.application.UpdateIncomeServiceSpec 20✅ 36ms

✅ 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 5ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.ServerApplicationSpec 1✅ 5ms

✅ 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 403ms with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.shared.ApiExceptionHandlerSpec 7✅ 403ms

✅ 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 57ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.shared.ApiFailureHandlerSpec 6✅ 57ms

✅ 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 7ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.adapter.web.converters.JarToResourceConverterSpec 1✅ 7ms

✅ 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 29ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.adapter.web.converters.PlanToResourceConverterSpec 1✅ 29ms

✅ 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 55ms with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.AddOrRemoveJarCategoryServiceSpec 9✅ 55ms

✅ 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 31ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.ClassicPlanBuilderServiceSpec 3✅ 31ms

✅ 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 40ms with 14 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.CreateJarServiceSpec 14✅ 40ms

✅ 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: 9Cwxa9H38gXZk529JczlyGhzjXBi7MKstcnsF1bDbrE2majdfwW28R0Kg44Y3NLeO7p3jqSkPKfPi4gXff9LdeB7ATtt0IIoZkERjS0j8JmgD93YI2x4VTFQNp0owllPwwavJNBAiHcU7JrKa2FmkIpojLplw9nxu2WqPT0O5z89Q2V6i6QXX7NsdqMI2mEUxDDPWrZb89Am6RnC7HftVhJKJ45ByIpHbyM0WARr6SaPEGfRkMPRZLLinb3tSorq, 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 33ms with 17 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.CreatePlanServiceSpec 17✅ 33ms

✅ 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: 794XYVDaC3HD8gA8avNhiY6vFAKPyNocGgH0rp5RW6wFBqFnkLpLfIcW2SsFRkptPUlsVrnBbIvTUVhkJq1dlqPlLr4GnyAKGRD1XBHIsVJZQviu3zwt1bDKly66pwmERUTuFj7hKb1Hc1WgxrZjNZq19nrdUuXXyzmaIddDt5VRt7B8afvnoB4RuAAoSvgdtXI90b3V8dLNfqAm9NQw4jof6zVzyylg8lVcD0wpAfTb5jZRWw0LGoJb7GjiGHku, 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 10ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.JarExpenseCategoryQueryServiceSpec 4✅ 10ms

✅ 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 17ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.PlanQueryServiceSpec 4✅ 17ms

✅ 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 63ms with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.myfinbox.spendingplan.application.UpdatePlanServiceSpec 20✅ 63ms

✅ 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: fk3jWy9jcZpSRDN7JRFYYLTZF2nhcGWK066HRfa2k9YTWDJq8Tyk3xuiLjZEG2ETOIXFb6bYU9kdEU59oj9UivCKyaHzg7okpubjKquBjNBbg0UT8Bc0QqTddpjwmbLPrz2PW8CqUG8wAXwlIxokn9UeMbJV6RTQQZF30fUT6bJA5DWJMo9lsvAE6zqClQfgY9kLi7EojizzjjDddAuEtoaWuK88i6AoOlR3hPB0TDRTGO4rxm041oYsLLd33hFK, 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