// // AndromidaTests.swift // AndromidaTests // // Created by Matt Bruce on 1/25/26. // import Testing import SwiftData import Foundation @testable import Rituals struct AndromidaTests { @Test func example() async throws { // Write your test here and use APIs like `#expect(...)` to check expected conditions. } @MainActor @Test func modelContextCanInsertBareRitual() throws { let schema = Schema([Ritual.self, RitualArc.self, ArcHabit.self]) let config = ModelConfiguration( schema: schema, isStoredInMemoryOnly: true, cloudKitDatabase: .none ) let container = try ModelContainer(for: schema, configurations: [config]) let context = container.mainContext let ritual = Ritual(title: "Bare", theme: "Test", arcs: []) context.insert(ritual) try context.save() let rituals = try context.fetch(FetchDescriptor()) #expect(rituals.count == 1) } @MainActor @Test func storeCanCreateQuickRitual() throws { let schema = Schema([Ritual.self, RitualArc.self, ArcHabit.self]) let config = ModelConfiguration( schema: schema, isStoredInMemoryOnly: true, cloudKitDatabase: .none ) let container = try ModelContainer(for: schema, configurations: [config]) let store = RitualStore( modelContext: container.mainContext, seedService: EmptySeedService(), settingsStore: TestFeedbackSettings() ) store.createQuickRitual() #expect(store.rituals.count == 1) } } private struct EmptySeedService: RitualSeedProviding { func makeSeedRituals(startDate: Date) -> [Ritual] { [] } } private struct TestFeedbackSettings: RitualFeedbackSettingsProviding { var hapticsEnabled: Bool = false var soundEnabled: Bool = false }