diff --git a/lib/models/task_request_body.dart b/lib/models/task_request_body.dart new file mode 100644 index 00000000..294ca8d0 --- /dev/null +++ b/lib/models/task_request_body.dart @@ -0,0 +1,10 @@ +class TaskRequestBody { + final String input; + final Map? additionalInput; + + TaskRequestBody({required this.input, this.additionalInput}); + + Map toJson() { + return {'input': input, 'additional_input': additionalInput}; + } +} diff --git a/test/task_request_body_test.dart b/test/task_request_body_test.dart new file mode 100644 index 00000000..7ac1d61b --- /dev/null +++ b/test/task_request_body_test.dart @@ -0,0 +1,26 @@ +import 'package:auto_gpt_flutter_client/models/task_request_body.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + group('TaskRequestBody', () { + test('should create TaskRequestBody with correct values', () { + final taskRequestBody = TaskRequestBody( + input: 'Do something', additionalInput: {'key': 'value'}); + + expect(taskRequestBody.input, 'Do something'); + expect(taskRequestBody.additionalInput, {'key': 'value'}); + }); + + test('should convert TaskRequestBody to correct JSON', () { + final taskRequestBody = TaskRequestBody( + input: 'Do something', additionalInput: {'key': 'value'}); + + final json = taskRequestBody.toJson(); + + expect(json, { + 'input': 'Do something', + 'additional_input': {'key': 'value'} + }); + }); + }); +}