top of page
back.jpg

Test case for Valid Coupon Code

This test case checks whether a valid coupon code is successfully applied to a booking cart, the total is updated accordingly, and a success message is displayed.

package com.seleniumExamples2024;

public class BookingCart {
	private double total;
    private String confirmationMessage;

    public void addItem(String itemName, double itemPrice) {
        // Simulated logic to add an item to the cart
        // For simplicity, the item price is directly added to the total
        total += itemPrice;
    }

    public boolean applyCoupon(String couponCode) {
        // Simulated logic to apply a coupon
        if ("VALIDCODE123".equals(couponCode)) {
       // For simplicity, assuming the coupon provides a 10% discount
            total *= 0.9;
            confirmationMessage = "Coupon applied successfully";
            return true;
        } else {
            confirmationMessage = "Invalid coupon code";
            return false;
        }
    }

    public double getTotal() {
        return total;
    }

    public String getConfirmationMessage() {
        return confirmationMessage;
    }

}
}


package com.seleniumExamples2024;

import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

public class CouponCodeValidationTest {
	@Test
    public void testValidCouponCodeApplication() {
		// Step 1: Add an item to the booking cart (simulated action)
        BookingCart bookingCart = new BookingCart();
        bookingCart.addItem("Hotel Room", 100.0);

        // Step 2: Enter a valid coupon code
        String validCouponCode = "VALIDCODE123";

        // Step 3: Apply the coupon code
        boolean couponApplied = bookingCart.applyCoupon(validCouponCode);

        // Assert that the coupon was applied successfully
        Assert.assertTrue(couponApplied, "Coupon should be applied successfully");

        // Soft assertions for floating-point comparison
        SoftAssert softAssert = new SoftAssert();

        // Step 4: Validate the total value after applying the coupon
        double expectedTotal = 90.0;
        double actualTotal = bookingCart.getTotal();
        double delta = 0.001;

        // Use softAssert for floating-point comparison
        softAssert.assertTrue(Math.abs(expectedTotal - actualTotal) < delta, "Booking total should reflect the discount");

        // Step 5: Validate the confirmation message
        String expectedConfirmationMessage = "Coupon applied successfully";
        String actualConfirmationMessage = bookingCart.getConfirmationMessage();

        // Assert that the confirmation message is as expected
        softAssert.assertEquals(actualConfirmationMessage, expectedConfirmationMessage, "Incorrect confirmation message");

        // Perform final assertion to fail the test if any of the previous assertions failed
        softAssert.assertAll();
    }
        
    }
	

2 views0 comments

Recent Posts

See All

Keyboard shortcut keys for various operations

General Shortcuts: Ctrl + C: Copy Ctrl + X: Cut Ctrl + V: Paste Ctrl + Z: Undo Ctrl + Y: Redo Ctrl + A: Select All Ctrl + S: Save Ctrl + P: Print Ctrl + F: Find Windows Shortcuts: Windows Key: Open or

What is Flaky test? Steps to resolve Test Flakiness

A flaky test An automated test in a software testing environment that may produce inconsistent results, sometimes passing and sometimes failing, even when applied to the same version of the software u

bottom of page