             description: "Expected Entitlement. Got: \(entitlements)"
         )
 
-        return try XCTUnwrap(entitlements[Self.entitlementIdentifier])
+        let entitlement = try XCTUnwrap(entitlements[Self.entitlementIdentifier])
+
+        if verifyEntitlementIsActive {
+            expect(file: file, line: line, entitlement.isActive)
+                .to(beTrue(), description: "Entitlement is not active")
+        }
+
+        return entitlement
     }
 
     func assertNoActiveSubscription(

    @discardableResult
    func verifyEntitlementWentThrough(
        _ customerInfo: CustomerInfo,
        file: FileString = #file,
        line: UInt = #line
    ) throws -> EntitlementInfo {

    ) async throws -> PurchaseResultData {
        let data = try await Purchases.shared.purchase(package: self.weeklyPackage)

        try self.verifyEntitlementWentThrough(
            data.customerInfo,
            // Weekly subscriptions expire in 1 second with this `SKTestTimeRate`.
            // This short interval can lead to false negatives.
            verifyEntitlementIsActive: false,
            file: file,
            line: line
        )

        return data
    }
