PromtGarageMac / Tests /PromptGarageCoreTests /PromptModelTests.swift
smlflg's picture
Initial public upload from Projekte/PromtGarageMac
4977db2 verified
Raw History Blame Contribute Delete
1.49 kB
import XCTest
@testable import PromptGarageCore
final class PromptModelTests: XCTestCase {
func testPromptDerivesTagsAndSourceFamilyWithoutChangingStoredValues() {
let prompt = PromptRecord(
id: 42,
title: "Test",
content: "Content",
source: "claude-raw:abcdef123456",
isStarred: true,
tags: "claude, project-x,swift",
model: "opus",
rating: 4,
useCount: 3,
createdAt: "2026-07-15 10:00:00",
updatedAt: "2026-07-15 11:00:00",
promptedAt: nil
)
XCTAssertEqual(prompt.sourceFamily, "claude-raw")
XCTAssertEqual(prompt.tagList, ["claude", "project-x", "swift"])
XCTAssertEqual(prompt.source, "claude-raw:abcdef123456")
XCTAssertNil(prompt.promptedAt)
}
func testDraftValidationRequiresTitleContentAndValidRating() {
XCTAssertNotNil(PromptDraft(title: "", content: "valid").validationMessage)
XCTAssertNotNil(PromptDraft(title: "valid", content: "").validationMessage)
XCTAssertNotNil(PromptDraft(title: "valid", content: "valid", rating: 6).validationMessage)
XCTAssertNil(PromptDraft(title: "valid", content: "valid", rating: 5).validationMessage)
}
func testPromptQueryClampsPagination() {
let query = PromptQuery(limit: 5_000, offset: -10)
XCTAssertEqual(query.limit, 500)
XCTAssertEqual(query.offset, 0)
}
}