Skip to content
This repository was archived by the owner on Nov 11, 2024. It is now read-only.

Commit bad18d3

Browse files
committed
Remove fetch request from entites
1 parent 23838e0 commit bad18d3

File tree

5 files changed

+73
-43
lines changed

5 files changed

+73
-43
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
//
2+
// CoreDataTests.swift
3+
// ComicKhanTests
4+
//
5+
// Created by Sha Yan on 3/6/1401 AP.
6+
// Copyright © 1401 AP wutup. All rights reserved.
7+
//
8+
9+
import XCTest
10+
@testable import ComicKhan
11+
import CoreData
12+
class CoreDataTests: XCTestCase {
13+
14+
var managedObjectContext: NSManagedObjectContext!
15+
override func setUpWithError() throws {
16+
try super.setUpWithError()
17+
managedObjectContext = createMockManagedContext()
18+
}
19+
20+
override func tearDownWithError() throws {
21+
try super.tearDownWithError()
22+
managedObjectContext = nil
23+
}
24+
25+
26+
func testComicDescription() {
27+
let comic = Comic(context: managedObjectContext)
28+
comic.name = "Name"
29+
comic.groupName = "Froup"
30+
comic.imageNames = ["A", "B", "C"]
31+
32+
print(comic.description)
33+
}
34+
}

ComicKhanTests/DataService/MockCoreDataStack.swift

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,31 @@
99
import XCTest
1010
import CoreData
1111

12-
extension XCTestCase {
13-
func createMockManagedContext() -> NSManagedObjectContext? {
14-
15-
//data module
16-
guard let modelURL = Bundle.main.url(forResource: "coredata", withExtension: "momd") else {
17-
XCTFail("object model not exist!")
18-
return nil
19-
}
20-
guard let objectModel = NSManagedObjectModel(contentsOf: modelURL) else {
21-
XCTFail("can't establish object model based on given url!")
22-
return nil
23-
}
24-
25-
//cordinator
26-
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: objectModel)
27-
28-
do {
29-
try coordinator.addPersistentStore(ofType: NSInMemoryStoreType, configurationName: nil, at: nil, options: nil)
30-
}catch {
31-
XCTFail("can't load persistant store")
32-
}
33-
34-
//nsmanagedcontext
35-
let context = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
36-
context.persistentStoreCoordinator = coordinator
37-
38-
return context
12+
func createMockManagedContext() -> NSManagedObjectContext? {
13+
14+
//data module
15+
guard let modelURL = Bundle.main.url(forResource: "coredata", withExtension: "momd") else {
16+
XCTFail("object model not exist!")
17+
return nil
3918
}
19+
guard let objectModel = NSManagedObjectModel(contentsOf: modelURL) else {
20+
XCTFail("can't establish object model based on given url!")
21+
return nil
22+
}
23+
24+
//cordinator
25+
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: objectModel)
26+
27+
do {
28+
try coordinator.addPersistentStore(ofType: NSInMemoryStoreType, configurationName: nil, at: nil, options: nil)
29+
}catch {
30+
XCTFail("can't load persistant store")
31+
}
32+
33+
//nsmanagedcontext
34+
let context = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
35+
context.persistentStoreCoordinator = coordinator
36+
37+
return context
4038
}
39+

wutComicReader/CoreData/Comic+CoreDataProperties.swift

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,20 @@ import CoreData
1111

1212

1313
extension Comic {
14-
15-
@nonobjc public class func fetchRequest() -> NSFetchRequest<Comic> {
16-
return NSFetchRequest<Comic>(entityName: "Comic")
17-
}
18-
1914
@NSManaged public var id: UUID
2015
@NSManaged public var imageNames: [String]
2116
@NSManaged public var lastVisitedPage: Int16
2217
@NSManaged public var name: String
2318
@NSManaged public var thumbnailNames: [String]
2419
@NSManaged public var ofComicGroup: ComicGroup?
2520
@NSManaged public var groupName: String
26-
21+
22+
static var entityName: String = "Comic"
23+
2724
}
2825

2926

30-
extension Comic: NSObjcet {
27+
extension Comic: CustomStringConvertible {
3128
override var description: String {
3229
return """
3330
name : \(name)
@@ -36,7 +33,4 @@ extension Comic: NSObjcet {
3633
"""
3734
}
3835

39-
static var entityName: String {
40-
return "Comic"
41-
}
4236
}

wutComicReader/CoreData/ComicGroup+CoreDataProperties.swift

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,25 @@ import CoreData
1111

1212

1313
extension ComicGroup {
14-
15-
@nonobjc public class func fetchRequest() -> NSFetchRequest<ComicGroup> {
16-
return NSFetchRequest<ComicGroup>(entityName: "ComicGroup")
17-
}
18-
1914
@NSManaged public var id: UUID
2015
@NSManaged public var isForNewComics: Bool
2116
@NSManaged public var name: String
2217
@NSManaged public var comics: NSOrderedSet?
23-
2418
}
2519

2620
extension ComicGroup {
2721
static let entityName = "ComicGroup"
2822
}
2923

24+
extension ComicGroup: CustomStringConvertible {
25+
var description: String {
26+
return """
27+
name: \(name)
28+
comics: \(comics)
29+
"""
30+
}
31+
}
32+
3033
// MARK: Generated accessors for comics
3134
extension ComicGroup {
3235

0 commit comments

Comments
 (0)