mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-03-31 14:43:09 +02:00
Allow unit-testing in SPM builds
This commit is contained in:
@@ -28,6 +28,17 @@ import XCTest
|
|||||||
@testable
|
@testable
|
||||||
import CoreStore
|
import CoreStore
|
||||||
|
|
||||||
|
#if !SWIFT_PACKAGE
|
||||||
|
|
||||||
|
extension Bundle {
|
||||||
|
|
||||||
|
static var module: Bundle {
|
||||||
|
return Bundle(for: BaseTestCase.self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// MARK: - BaseTestCase
|
// MARK: - BaseTestCase
|
||||||
|
|
||||||
@@ -40,7 +51,7 @@ class BaseTestCase: XCTestCase {
|
|||||||
|
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
do {
|
do {
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ final class ErrorTests: XCTestCase {
|
|||||||
let schemaHistory = SchemaHistory(
|
let schemaHistory = SchemaHistory(
|
||||||
XcodeDataModelSchema.from(
|
XcodeDataModelSchema.from(
|
||||||
modelName: "Model",
|
modelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
let version = "1.0.0"
|
let version = "1.0.0"
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
let schemaHistory = SchemaHistory(
|
let schemaHistory = SchemaHistory(
|
||||||
XcodeDataModelSchema.from(
|
XcodeDataModelSchema.from(
|
||||||
modelName: "Model",
|
modelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
let stack = DataStack(schemaHistory: schemaHistory)
|
let stack = DataStack(schemaHistory: schemaHistory)
|
||||||
@@ -68,7 +68,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
|
|
||||||
DataStack(
|
DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self),
|
bundle: Bundle.module,
|
||||||
migrationChain: migrationChain
|
migrationChain: migrationChain
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -82,7 +82,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
|
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
do {
|
do {
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
|
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
do {
|
do {
|
||||||
|
|
||||||
@@ -205,7 +205,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
|
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
try! stack.addStorageAndWait(sqliteStore)
|
try! stack.addStorageAndWait(sqliteStore)
|
||||||
self.prepareTestDataForStack(stack)
|
self.prepareTestDataForStack(stack)
|
||||||
@@ -224,7 +224,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
let metadata = try createStore()
|
let metadata = try createStore()
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
try sqliteStore.cs_eraseStorageAndWait(
|
try sqliteStore.cs_eraseStorageAndWait(
|
||||||
metadata: metadata,
|
metadata: metadata,
|
||||||
@@ -257,7 +257,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
|
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
do {
|
do {
|
||||||
|
|
||||||
@@ -325,7 +325,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
|
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
try! stack.addStorageAndWait(
|
try! stack.addStorageAndWait(
|
||||||
SQLiteStore.legacy(
|
SQLiteStore.legacy(
|
||||||
@@ -351,7 +351,7 @@ class SetupTests: BaseTestDataTestCase {
|
|||||||
let metadata = try createStore()
|
let metadata = try createStore()
|
||||||
let stack = DataStack(
|
let stack = DataStack(
|
||||||
xcodeModelName: "Model",
|
xcodeModelName: "Model",
|
||||||
bundle: Bundle(for: Self.self)
|
bundle: Bundle.module
|
||||||
)
|
)
|
||||||
try sqliteStore.cs_eraseStorageAndWait(
|
try sqliteStore.cs_eraseStorageAndWait(
|
||||||
metadata: metadata,
|
metadata: metadata,
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ final class StorageInterfaceTests: XCTestCase {
|
|||||||
.appendingPathExtension("db")
|
.appendingPathExtension("db")
|
||||||
let mappingProvider = XcodeSchemaMappingProvider(
|
let mappingProvider = XcodeSchemaMappingProvider(
|
||||||
from: "V1", to: "V2",
|
from: "V1", to: "V2",
|
||||||
mappingModelBundle: Bundle(for: Self.self)
|
mappingModelBundle: Bundle.module
|
||||||
)
|
)
|
||||||
|
|
||||||
let store = SQLiteStore(
|
let store = SQLiteStore(
|
||||||
@@ -131,7 +131,7 @@ final class StorageInterfaceTests: XCTestCase {
|
|||||||
let fileName = UUID().uuidString + ".db"
|
let fileName = UUID().uuidString + ".db"
|
||||||
let mappingProvider = XcodeSchemaMappingProvider(
|
let mappingProvider = XcodeSchemaMappingProvider(
|
||||||
from: "V1", to: "V2",
|
from: "V1", to: "V2",
|
||||||
mappingModelBundle: Bundle(for: Self.self)
|
mappingModelBundle: Bundle.module
|
||||||
)
|
)
|
||||||
let store = SQLiteStore(
|
let store = SQLiteStore(
|
||||||
fileName: fileName,
|
fileName: fileName,
|
||||||
@@ -197,7 +197,7 @@ final class StorageInterfaceTests: XCTestCase {
|
|||||||
let fileName = UUID().uuidString + ".db"
|
let fileName = UUID().uuidString + ".db"
|
||||||
let mappingProvider = XcodeSchemaMappingProvider(
|
let mappingProvider = XcodeSchemaMappingProvider(
|
||||||
from: "V1", to: "V2",
|
from: "V1", to: "V2",
|
||||||
mappingModelBundle: Bundle(for: Self.self)
|
mappingModelBundle: Bundle.module
|
||||||
)
|
)
|
||||||
let store = SQLiteStore.legacy(
|
let store = SQLiteStore.legacy(
|
||||||
fileName: fileName,
|
fileName: fileName,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// swift-tools-version:5.5
|
// swift-tools-version:5.7
|
||||||
//
|
//
|
||||||
// Package.swift
|
// Package.swift
|
||||||
// CoreStore
|
// CoreStore
|
||||||
@@ -45,7 +45,10 @@ let package = Package(
|
|||||||
.testTarget(
|
.testTarget(
|
||||||
name: "CoreStoreTests",
|
name: "CoreStoreTests",
|
||||||
dependencies: ["CoreStore"],
|
dependencies: ["CoreStore"],
|
||||||
path: "CoreStoreTests"
|
path: "CoreStoreTests",
|
||||||
|
resources: [
|
||||||
|
.process("Model.xcdatamodeld")
|
||||||
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
swiftLanguageVersions: [.v5]
|
swiftLanguageVersions: [.v5]
|
||||||
|
|||||||
Reference in New Issue
Block a user