Files
InvestmentTrackerApp/PortfolioJournalTests/Views/MonthlyCheckInViewTests.swift
T
alexandrev-tibco 171023a411 Tests: corrige 3 tests desfasados y añade recorrido UI del layout adaptativo
- ReviewPromptServiceTests: la regla vigente pide 2 check-ins, no 3.
- MonthlyCheckInViewTests: el día 1 cae en el periodo de gracia (20 días);
  usar el día 25 para etiquetar febrero.
- SettingsViewModelTests: isPremium llega por receive(on: main); dar una
  vuelta de run loop antes de actuar.
- DuoLayoutUITests: recorre tabs, split views e inspector con capturas
  (ejecutar en iPhone 17 Pro y iPad mini). ScreenshotMode oculta los tips de
  TipKit; identificador de accesibilidad en el botón de Quick Update.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F1u4K16xy7eQVtgsYNZ9Vn
2026-09-16 15:13:10 +02:00

39 lines
1.2 KiB
Swift

import XCTest
@testable import PortfolioJournal
final class MonthlyCheckInViewTests: XCTestCase {
func testMonthLabelUsesMonthAndYear() {
var components = DateComponents()
components.year = 2026
components.month = 2
// Past the 20-day grace period (MonthlyCheckInStore.graceDays), so the
// effective month is February itself.
components.day = 25
let date = Calendar(identifier: .gregorian).date(from: components)!
let label = MonthlyCheckInView.monthLabel(
for: date,
relativeTo: date,
locale: Locale(identifier: "en_US_POSIX")
)
XCTAssertEqual(label, "February 2026")
}
func testMonthLabelUsesPreviousMonthDuringGracePeriod() {
var components = DateComponents()
components.year = 2026
components.month = 2
components.day = 20
let date = Calendar(identifier: .gregorian).date(from: components)!
let label = MonthlyCheckInView.monthLabel(
for: date,
relativeTo: date,
locale: Locale(identifier: "en_US_POSIX")
)
XCTAssertEqual(label, "January 2026")
}
}