Add tests
This commit is contained in:
parent
4926af8536
commit
5b08c644bd
|
@ -91,6 +91,8 @@ extension Todo: CRUDModel {
|
|||
func `public`(eventLoop: EventLoop, db: Database) -> EventLoopFuture<Public> {
|
||||
eventLoop.makeSucceededFuture(self.public)
|
||||
}
|
||||
|
||||
// You can find an example for loading relationship in /Tests/CRUDKitTests/Models/Todo.swift
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ final class CreateTests: ApplicationXCTestCase {
|
|||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Run tests")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 0)
|
||||
}
|
||||
}.test(.GET, "/todos/1", afterResponse: { res in
|
||||
XCTAssertEqual(res.status, .ok)
|
||||
|
@ -27,6 +28,7 @@ final class CreateTests: ApplicationXCTestCase {
|
|||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Run tests")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 0)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -12,7 +12,9 @@ final class DeleteTests: ApplicationXCTestCase {
|
|||
XCTAssertContent(Todo.Public.self, res) {
|
||||
XCTAssertNotNil($0.id)
|
||||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Wash clothes")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
}).test(.DELETE, "/todos/1", afterResponse: { res in
|
||||
XCTAssertEqual(res.status, .ok)
|
||||
|
|
|
@ -27,6 +27,7 @@ final class IndexAllTests: ApplicationXCTestCase {
|
|||
XCTAssertNotEqual($0.count, 2)
|
||||
XCTAssertEqual($0[0].title, Todo(title: "Wash clothes").title)
|
||||
XCTAssertTrue($0[0].isPublic)
|
||||
XCTAssertEqual($0[0].tagCount, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ final class IndexTests: ApplicationXCTestCase {
|
|||
XCTAssertNotEqual($0.id, 2)
|
||||
XCTAssertEqual($0.title, "Wash clothes")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ final class PatchTests: ApplicationXCTestCase {
|
|||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Run other tests")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
}.test(.GET, "/todos/1", afterResponse: { res in
|
||||
XCTAssertEqual(res.status, .ok)
|
||||
|
@ -34,6 +35,7 @@ final class PatchTests: ApplicationXCTestCase {
|
|||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Run other tests")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -54,6 +56,7 @@ final class PatchTests: ApplicationXCTestCase {
|
|||
XCTAssertNotEqual($0.id, 2)
|
||||
XCTAssertEqual($0.title, "Wash clothes")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ final class ReplaceTests: ApplicationXCTestCase {
|
|||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Run other tests")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
}.test(.GET, "/todos/1", afterResponse: { res in
|
||||
XCTAssertEqual(res.status, .ok)
|
||||
|
@ -43,6 +44,7 @@ final class ReplaceTests: ApplicationXCTestCase {
|
|||
XCTAssertEqual($0.id, 1)
|
||||
XCTAssertEqual($0.title, "Run other tests")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -88,6 +90,7 @@ final class ReplaceTests: ApplicationXCTestCase {
|
|||
XCTAssertNotEqual($0.id, 2)
|
||||
XCTAssertEqual($0.title, "Wash clothes")
|
||||
XCTAssertTrue($0.isPublic)
|
||||
XCTAssertEqual($0.tagCount, 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -27,10 +27,17 @@ extension Todo: CRUDModel {
|
|||
var id: Int?
|
||||
var title: String
|
||||
var isPublic: Bool
|
||||
var tagCount: Int
|
||||
}
|
||||
|
||||
var `public`: Public {
|
||||
Public.init(id: id, title: title, isPublic: true)
|
||||
Public.init(id: id, title: title, isPublic: true, tagCount: 0)
|
||||
}
|
||||
|
||||
func `public`(eventLoop: EventLoop, db: Database) -> EventLoopFuture<Public> {
|
||||
self.$tags.query(on: db).all().map {
|
||||
Public.init(id: self.id, title: self.title, isPublic: true, tagCount: $0.count)
|
||||
}
|
||||
}
|
||||
|
||||
struct Create: Content {
|
||||
|
|
Loading…
Reference in New Issue