Files
InvestmentTrackerApp/PortfolioJournalTests/Services/ShareServiceTests.swift
T
2026-02-11 23:37:11 +01:00

47 lines
1.7 KiB
Swift

import XCTest
@testable import PortfolioJournal
final class ShareServiceTests: XCTestCase {
func testBuildMonthlyCheckInShareText() {
let summary = MonthlySummary(
periodLabel: "January 2026",
startDate: Date(timeIntervalSince1970: 0),
endDate: Date(timeIntervalSince1970: 0),
startingValue: 1000,
endingValue: 1200,
contributions: 150,
netPerformance: 50
)
let text = ShareService.buildMonthlyCheckInShareText(
summary: summary,
appName: "Portfolio Journal"
)
XCTAssertTrue(text.contains("January 2026 Check-in"))
XCTAssertTrue(text.contains("Starting:"))
XCTAssertTrue(text.contains("Ending:"))
XCTAssertTrue(text.contains("Contributions:"))
XCTAssertTrue(text.contains("Net performance:"))
XCTAssertTrue(text.contains("Shared from Portfolio Journal"))
}
func testBuildPortfolioValueShareText() {
let text = ShareService.buildPortfolioValueShareText(
totalValue: "€120,000",
changeText: "+€2,500 (+2.1%)",
changeLabel: "since last check-in",
yearChange: "+€8,000 (+7.1%)",
sinceInceptionChange: "+€24,000 (+25.0%)",
appName: "Portfolio Journal"
)
XCTAssertTrue(text.contains("Total Portfolio Value"))
XCTAssertTrue(text.contains("€120,000"))
XCTAssertTrue(text.contains("+€2,500 (+2.1%) since last check-in"))
XCTAssertTrue(text.contains("YoY: +€8,000 (+7.1%)"))
XCTAssertTrue(text.contains("Since inception: +€24,000 (+25.0%)"))
XCTAssertTrue(text.contains("Shared from Portfolio Journal"))
}
}