TEST TYPE: dashboard_functional Title: TC_FUNC_01_Validate_New_Billing_Date_In_Future Scenario: Verify that the new billing date of a reconciled invoice is set in the future compared to the existing date. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Change the billing date to a date in the future. Expected Result: The new billing date should be set in the future compared to the existing date. Actual Result: Priority: High Title: TC_FUNC_02_Validate_New_Billing_Date_Matches_Existing Scenario: Ensure that the new billing date of a reconciled invoice matches the existing date. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Change the billing date to the same date. Expected Result: The new billing date should match the existing date. Actual Result: Priority: High Title: TC_FUNC_03_Validate_No_Billing_On_Same_Day Scenario: Check that the system does not bill on the same day as the existing billing date for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Attempt to set the new billing date to the same day. Expected Result: The system should prevent billing on the same day and provide an error message. Actual Result: Priority: Medium Title: TC_FUNC_04_Validate_Pro_Rata_Refund_If_Billing_On_Same_Day Scenario: Verify that a pro rata refund is initiated if the system bills on the same day as the existing billing date for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date to the same day. Expected Result: A pro rata refund should be processed automatically. Actual Result: Priority: High Title: TC_FUNC_05_Validate_No_Refund_If_New_Billing_Date_In_Future Scenario: Check that no refund is initiated if the new billing date is set in the future compared to the existing date for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date to a future date. Expected Result: No refund should be processed. Actual Result: Priority: Medium Title: TC_FUNC_06_Validate_Refund_Amount_Calculation Scenario: Ensure that the refund amount for a pro rata refund is calculated accurately. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date to the same day. 3. Verify the calculated refund amount. Expected Result: The refund amount should be calculated based on the remaining days of the billing cycle. Actual Result: Priority: High Title: TC_FUNC_07_Validate_Invalid_New_Billing_Date_Format Scenario: Check the system's response when an invalid date format is entered for the new billing date. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Enter an invalid date format for the new billing date. Expected Result: The system should display an error message indicating an invalid date format. Actual Result: Priority: Medium Title: TC_FUNC_08_Validate_New_Billing_Date_Required Scenario: Verify that the new billing date is a required field when updating a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Try to save without entering a new billing date. Expected Result: The system should prompt the user to enter a new billing date. Actual Result: Priority: High Title: TC_FUNC_09_Validate_Billing_Date_Update_Permissions Scenario: Check if only authorized users can update the billing date of a reconciled invoice. Steps to reproduce: 1. Log in as a non-authorized user. 2. Attempt to update the billing date of a reconciled invoice. Expected Result: The system should restrict non-authorized users from updating the billing date. Actual Result: Priority: High Title: TC_FUNC_10_Validate_Billing_Date_After_Refund Scenario: Verify that the billing date is adjusted correctly after a pro rata refund is processed. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Initiate a pro rata refund by setting the new billing date to the same day. 3. Check the billing date after the refund. Expected Result: The billing date should be adjusted to reflect the refund process. Actual Result: Priority: High Title: TC_FUNC_11_Validate_No_Refund_If_New_Billing_Date_Equal_To_Existing Scenario: Check that no refund is processed if the new billing date is equal to the existing date for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date to the same date. Expected Result: No refund should be initiated. Actual Result: Priority: Medium Title: TC_FUNC_12_Validate_Billing_Date_Update_Audit_Trail Scenario: Ensure that the system records the update of the billing date in the audit trail for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Update the billing date to a new date. 3. Check the audit trail for the update entry. Expected Result: The audit trail should reflect the change in the billing date. Actual Result: Priority: High Title: TC_FUNC_13_Validate_No_Refund_If_New_Billing_Date_In_Past Scenario: Check that no refund is processed if the new billing date is set in the past compared to the existing date for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date to a past date. Expected Result: No refund should be initiated. Actual Result: Priority: Medium Title: TC_FUNC_14_Validate_Invalid_New_Billing_Date_Range Scenario: Verify the system's response when a new billing date is set outside the valid date range for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date outside the valid range. Expected Result: The system should display an error message indicating an invalid date range. Actual Result: Priority: Medium Title: TC_FUNC_15_Validate_Billing_Date_Update_Success Scenario: Check that the billing date update for a reconciled invoice is successful. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Update the billing date to a new valid date. Expected Result: The billing date should be successfully updated without errors. Actual Result: Priority: High Title: TC_FUNC_16_Validate_No_Refund_If_New_Billing_Date_Same_Month Scenario: Verify that no refund is processed if the new billing date is in the same month but different day compared to the existing date for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Set the new billing date to a different day in the same month. Expected Result: No refund should be initiated. Actual Result: Priority: Medium Title: TC_FUNC_17_Validate_Billing_Date_Update_Not_Allowed_After_Payment Scenario: Ensure that the billing date cannot be updated after the invoice has been paid for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Mark the invoice as paid. 3. Attempt to update the billing date. Expected Result: The system should prevent the billing date update after payment. Actual Result: Priority: High Title: TC_FUNC_18_Validate_Only_One_Refund_Per_Invoice Scenario: Check that only one pro rata refund can be processed per invoice for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Initiate a pro rata refund. 3. Attempt to initiate another refund. Expected Result: The system should prevent multiple refunds and display an error message. Actual Result: Priority: High Title: TC_FUNC_19_Validate_No_Refund_If_New_Billing_Date_Null Scenario: Verify that no refund is processed if the new billing date is not provided for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Leave the new billing date field blank. Expected Result: No refund should be initiated. Actual Result: Priority: Medium Title: TC_FUNC_20_Validate_Billing_Date_Update_History Scenario: Ensure that the system maintains a history of billing date updates for a reconciled invoice. Steps to reproduce: 1. Reconcile an invoice with an existing billing date. 2. Update the billing date multiple times. 3. Check the billing date update history. Expected Result: The system should display a chronological list of billing date updates. Actual Result: Priority: High TEST TYPE: dashboard_negative Title: TC_NEG_01_Invalid_Date_Format Scenario: Testing when an invalid date format is entered for the billing date. Steps to reproduce: 1. Enter a random string as the billing date. Expected Result: System should display an error message indicating that the date format is invalid. Actual Result: Priority: High Title: TC_NEG_02_Empty_Billing_Date Scenario: Testing when the billing date field is left empty. Steps to reproduce: 1. Leave the billing date field blank. Expected Result: System should display an error message prompting the user to enter a billing date. Actual Result: Priority: High Title: TC_NEG_03_Past_Billing_Date Scenario: Testing when a past date is entered as the billing date. Steps to reproduce: 1. Enter a date that is in the past as the billing date. Expected Result: System should display an error message indicating that the billing date cannot be in the past. Actual Result: Priority: High Title: TC_NEG_04_Billing_On_31st Scenario: Testing when the billing date falls on the 31st of a month. Steps to reproduce: 1. Set the billing date to the 31st of a month. Expected Result: System should handle the billing date correctly without any errors. Actual Result: Priority: Medium Title: TC_NEG_05_Invalid_Date_Range Scenario: Testing when an invalid date range is entered for the billing date. Steps to reproduce: 1. Enter a billing date that is not within a valid date range. Expected Result: System should display an error message indicating that the date range is invalid. Actual Result: Priority: High Title: TC_NEG_06_Null_Invoice_Date Scenario: Testing when the invoice date is null. Steps to reproduce: 1. Set the invoice date to null. Expected Result: System should handle the null invoice date gracefully and not crash. Actual Result: Priority: Medium Title: TC_NEG_07_Non_Numeric_Amount Scenario: Testing when a non-numeric amount is entered for the invoice. Steps to reproduce: 1. Enter a non-numeric value as the invoice amount. Expected Result: System should display an error message indicating that the amount should be numeric. Actual Result: Priority: High Title: TC_NEG_08_Negative_Amount Scenario: Testing when a negative amount is entered for the invoice. Steps to reproduce: 1. Enter a negative value as the invoice amount. Expected Result: System should display an error message indicating that the amount should be positive. Actual Result: Priority: High Title: TC_NEG_09_Large_Amount Scenario: Testing when a very large amount is entered for the invoice. Steps to reproduce: 1. Enter an amount that exceeds the system's allowed limit. Expected Result: System should handle the large amount gracefully and provide appropriate feedback. Actual Result: Priority: Medium Title: TC_NEG_10_Invalid_Tax_Percentage Scenario: Testing when an invalid tax percentage is entered. Steps to reproduce: 1. Enter a tax percentage that is not within the valid range. Expected Result: System should display an error message indicating that the tax percentage is invalid. Actual Result: Priority: High Title: TC_NEG_11_Null_Customer_ID Scenario: Testing when the customer ID is null. Steps to reproduce: 1. Set the customer ID to null. Expected Result: System should not allow the creation of an invoice with a null customer ID. Actual Result: Priority: High Title: TC_NEG_12_Invalid_Customer_ID Scenario: Testing when an invalid customer ID is entered. Steps to reproduce: 1. Enter a customer ID that does not exist in the system. Expected Result: System should display an error message indicating that the customer ID is invalid. Actual Result: Priority: High Title: TC_NEG_13_Duplicate_Invoice_Number Scenario: Testing when a duplicate invoice number is used. Steps to reproduce: 1. Create an invoice with an invoice number that already exists in the system. Expected Result: System should not allow the creation of a duplicate invoice number. Actual Result: Priority: High Title: TC_NEG_14_Invalid_Discount_Amount Scenario: Testing when an invalid discount amount is entered. Steps to reproduce: 1. Enter a discount amount that exceeds the total invoice amount. Expected Result: System should display an error message indicating that the discount amount is invalid. Actual Result: Priority: High Title: TC_NEG_15_Nonexistent_Product_ID Scenario: Testing when a nonexistent product ID is entered for the invoice. Steps to reproduce: 1. Enter a product ID that does not exist in the system. Expected Result: System should display an error message indicating that the product ID is nonexistent. Actual Result: Priority: High Title: TC_NEG_16_Invalid_Currency_Code Scenario: Testing when an invalid currency code is entered. Steps to reproduce: 1. Enter a currency code that is not supported by the system. Expected Result: System should display an error message indicating that the currency code is invalid. Actual Result: Priority: High Title: TC_NEG_17_Invalid_Status Scenario: Testing when an invalid status is set for the invoice. Steps to reproduce: 1. Set an invalid status for the invoice. Expected Result: System should not allow an invalid status to be set for the invoice. Actual Result: Priority: High Title: TC_NEG_18_Missing_Tax_Information Scenario: Testing when the tax information is missing for the invoice. Steps to reproduce: 1. Create an invoice without providing any tax information. Expected Result: System should prompt the user to enter tax information. Actual Result: Priority: High Title: TC_NEG_19_Null_Billing_Address Scenario: Testing when the billing address is null. Steps to reproduce: 1. Set the billing address to null. Expected Result: System should handle the null billing address gracefully and not crash. Actual Result: Priority: Medium Title: TC_NEG_20_Invalid_Payment_Method Scenario: Testing when an invalid payment method is selected for the invoice. Steps to reproduce: 1. Select a payment method that is not supported by the system. Expected Result: System should display an error message indicating that the payment method is invalid. Actual Result: Priority: High