Added the "id" parameter to the initializer of the Transcription model in the Recording package target.

This commit is contained in:
2026-07-04 15:37:36 +02:00
parent 1f1ac630f3
commit 088c4c757e
2 changed files with 47 additions and 3 deletions
@@ -6,18 +6,23 @@ public struct Transcription: Equatable, Identifiable, Sendable {
// MARK: Properties
/// The unique identifier of the transcription.
public let id: UUID = .init()
public let id: UUID
/// The transcribed text of the processed recording.
public let text: String
// MARK: Initializers
/// Creates a transcription with a given text.
/// - Parameter text: The transcribed text of the processed recording.
///
/// - Parameters:
/// - id: The unique identifier of the transcription. Defaults to a newly generated identifier.
/// - text: The transcribed text of the processed recording.
public init(
id: UUID = .init(),
text: String
) {
self.id = id
self.text = text
}
@@ -23,6 +23,16 @@ struct TranscriptionTests {
#expect(transcription.text == text)
}
@Test func `initializer stores the given identifier`() {
let id = UUID()
let transcription = Transcription(
id: id,
text: "This is a transcription."
)
#expect(transcription.id == id)
}
}
// MARK: Computed properties
@@ -45,6 +55,35 @@ struct TranscriptionTests {
}
// MARK: Equatable
@Suite("Equatable")
struct EquatableConformance {
@Test func `transcriptions with the same identifier and text are equal`() {
let id = UUID()
let first = Transcription(
id: id,
text: "This is a transcription."
)
let second = Transcription(
id: id,
text: "This is a transcription."
)
#expect(first == second)
}
@Test func `transcriptions with generated identifiers are never equal`() {
let first = Transcription(text: "This is a transcription.")
let second = Transcription(text: "This is a transcription.")
#expect(first != second)
}
}
// MARK: Identifiable
@Suite("Identifiable")