Skip to content

Commit

Permalink
Using assertSnapshot
Browse files Browse the repository at this point in the history
  • Loading branch information
NachoSoto committed Jul 30, 2023
1 parent c498206 commit 774a42f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 23 deletions.
4 changes: 1 addition & 3 deletions Tests/StoreKitUnitTests/Support/DebugViewSwiftUITests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@

import Nimble
@testable import RevenueCat
import SnapshotTesting
import XCTest

import SwiftUI
import XCTest

@MainActor
@available(iOS 16.0, *)
Expand Down
39 changes: 19 additions & 20 deletions Tests/UnitTests/Purchasing/ProductRequestDataTests.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import Nimble
import SnapshotTesting
import XCTest

@testable import RevenueCat
Expand All @@ -10,88 +9,88 @@ class ProductRequestDataTests: TestCase {
let productIdentifier = "cool_product"
let productData: ProductRequestData = .createMockProductData(productIdentifier: productIdentifier)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsPaymentModeCorrectly() throws {
var paymentMode: StoreProductDiscount.PaymentMode?
var productData: ProductRequestData = .createMockProductData(paymentMode: paymentMode)

assertSnapshot(productData)
self.snapshot(productData)

paymentMode = .payAsYouGo
productData = .createMockProductData(paymentMode: paymentMode)

assertSnapshot(productData)
self.snapshot(productData)

paymentMode = .freeTrial
productData = .createMockProductData(paymentMode: paymentMode)

assertSnapshot(productData)
self.snapshot(productData)

paymentMode = .payUpFront
productData = .createMockProductData(paymentMode: paymentMode)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsCurrencyCodeCorrectly() throws {
let currencyCode = "USD"
let productData: ProductRequestData = .createMockProductData(currencyCode: currencyCode)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsPriceCorrectly() throws {
let price: NSDecimalNumber = 9.99
let productData: ProductRequestData = .createMockProductData(price: price as Decimal)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsNormalDurationCorrectly() throws {
let normalDuration = "P3Y"
let productData: ProductRequestData = .createMockProductData(normalDuration: normalDuration)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsIntroDurationCorrectlyForFreeTrial() throws {
let trialDuration = "P3M"
let productData: ProductRequestData = .createMockProductData(introDuration: trialDuration,
introDurationType: .freeTrial)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsIntroDurationCorrectlyForIntroPrice() throws {
let introDuration = "P3M"
let productData: ProductRequestData = .createMockProductData(introDuration: introDuration,
introDurationType: .payUpFront)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryDoesntAddIntroDurationIfDurationTypeUnknown() throws {
let introDuration = "P3M"
let productData: ProductRequestData = .createMockProductData(introDuration: introDuration,
introDurationType: nil)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsIntroPriceCorrectly() throws {
let introPrice: NSDecimalNumber = 6.99
let productData: ProductRequestData = .createMockProductData(introPrice: introPrice as Decimal)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsSubscriptionGroupCorrectly() {
let subscriptionGroup = "cool_group"
let productData: ProductRequestData = .createMockProductData(subscriptionGroup: subscriptionGroup)

assertSnapshot(productData)
self.snapshot(productData)
}

func testAsDictionaryConvertsDiscountsCorrectly() throws {
Expand Down Expand Up @@ -124,7 +123,7 @@ class ProductRequestDataTests: TestCase {

let productData: ProductRequestData = .createMockProductData(discounts: [discount1, discount2, discount3])

assertSnapshot(productData)
self.snapshot(productData)
}

func testEncoding() throws {
Expand Down Expand Up @@ -166,7 +165,7 @@ class ProductRequestDataTests: TestCase {
subscriptionGroup: "cool_group",
discounts: [discount1, discount2, discount3])

assertSnapshot(productData)
self.snapshot(productData)
}

func testCacheKey() throws {
Expand Down Expand Up @@ -218,10 +217,10 @@ class ProductRequestDataTests: TestCase {

private extension ProductRequestDataTests {

func assertSnapshot(_ data: ProductRequestData,
testName: String = #function,
line: UInt = #line) {
SnapshotTesting.assertSnapshot(
func snapshot(_ data: ProductRequestData,
testName: String = #function,
line: UInt = #line) {
assertSnapshot(
matching: data,
as: .formattedJson,
testName: testName,
Expand Down

0 comments on commit 774a42f

Please sign in to comment.