feat: create app and api projects.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import 'package:dde_gesture_manager/dde_gesture_manager.dart';
|
||||
import 'package:conduit_test/conduit_test.dart';
|
||||
|
||||
export 'package:dde_gesture_manager/dde_gesture_manager.dart';
|
||||
export 'package:conduit_test/conduit_test.dart';
|
||||
export 'package:test/test.dart';
|
||||
export 'package:conduit/conduit.dart';
|
||||
|
||||
/// A testing harness for dde_gesture_manager.
|
||||
///
|
||||
/// A harness for testing an conduit application. Example test file:
|
||||
///
|
||||
/// void main() {
|
||||
/// Harness harness = Harness()..install();
|
||||
///
|
||||
/// test("GET /path returns 200", () async {
|
||||
/// final response = await harness.agent.get("/path");
|
||||
/// expectResponse(response, 200);
|
||||
/// });
|
||||
/// }
|
||||
///
|
||||
class Harness extends TestHarness<DdeGestureManagerChannel> with TestHarnessORMMixin {
|
||||
@override
|
||||
ManagedContext? get context => channel?.context;
|
||||
|
||||
@override
|
||||
Future onSetUp() async {
|
||||
await resetData();
|
||||
}
|
||||
|
||||
@override
|
||||
Future onTearDown() async {}
|
||||
|
||||
@override
|
||||
Future seed() async {
|
||||
// restore any static data. called by resetData.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import 'harness/app.dart';
|
||||
|
||||
Future main() async {
|
||||
final harness = Harness()..install();
|
||||
|
||||
tearDown(() async {
|
||||
await harness.resetData();
|
||||
});
|
||||
|
||||
test("POST /model", () async {
|
||||
final response = await harness.agent!.post("/model", body: {"name": "Bob"});
|
||||
expect(
|
||||
response,
|
||||
hasResponse(200,
|
||||
body: {"id": isNotNull, "name": "Bob", "createdAt": isTimestamp}));
|
||||
});
|
||||
|
||||
test("GET /model/:id returns previously created object", () async {
|
||||
var response = await harness.agent!.post("/model", body: {"name": "Bob"});
|
||||
|
||||
final createdObject = response?.body.as();
|
||||
response =
|
||||
await harness.agent!.request("/model/${createdObject["id"]}").get();
|
||||
expect(
|
||||
response,
|
||||
hasResponse(200, body: {
|
||||
"id": createdObject["id"],
|
||||
"name": createdObject["name"],
|
||||
"createdAt": createdObject["createdAt"]
|
||||
}));
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user