migration

This commit is contained in:
Daniel Arantes Loverde
2026-08-11 13:22:02 -03:00
parent c4d6998595
commit 7702836fe7
231 changed files with 4329 additions and 1958 deletions

View File

@@ -0,0 +1,42 @@
import Foundation
import Testing
@testable import PediFoods
private func makeCard(nickname: String? = nil, brand: String? = "visa") -> SavedCard {
let json = """
{"id":"1","nickname":\(nickname.map { "\"\($0)\"" } ?? "null"),"holderName":"Jane Doe",
"last4":"4242","brand":\(brand.map { "\"\($0)\"" } ?? "null"),
"expiryMonth":"09","expiryYear":"2027","isDefault":false}
"""
return try! JSONDecoder().decode(SavedCard.self, from: Data(json.utf8))
}
@Test("SavedCard.displayLabel uses the nickname when present")
func savedCardDisplayLabelUsesNickname() {
let card = makeCard(nickname: "Meu cartão")
#expect(card.displayLabel == "Meu cartão")
}
@Test("SavedCard.displayLabel falls back to capitalized brand + last4 when nickname is absent")
func savedCardDisplayLabelFallsBackToBrand() {
let card = makeCard(nickname: nil, brand: "visa")
#expect(card.displayLabel == "Visa •••• 4242")
}
@Test("SavedCard.displayLabel falls back to a generic label when both nickname and brand are absent")
func savedCardDisplayLabelFallsBackToGeneric() {
let card = makeCard(nickname: nil, brand: nil)
#expect(card.displayLabel == "Cartão •••• 4242")
}
@Test("SavedCard.displayLabel ignores an empty-string nickname")
func savedCardDisplayLabelIgnoresEmptyNickname() {
let card = makeCard(nickname: "", brand: "mastercard")
#expect(card.displayLabel == "Mastercard •••• 4242")
}
@Test("SavedCard.expiryLabel joins month and year with a slash")
func savedCardExpiryLabel() {
let card = makeCard()
#expect(card.expiryLabel == "09/2027")
}