diff --git a/test/models/history_models.dart b/test/models/history_models.dart index e33c2f99..68b2b45f 100644 --- a/test/models/history_models.dart +++ b/test/models/history_models.dart @@ -77,3 +77,21 @@ final Map historyRequestModelJson2 = { "httpRequestModel": httpRequestModelPost10Json, "httpResponseModel": responseModelJson, }; + +/// Basic History Meta model 1 +final historyMetaModel3 = HistoryMetaModel( + historyId: 'historyId3', + requestId: 'requestId3', + apiType: APIType.rest, + url: 'https://reqbin.com/echo/options', + method: HTTPVerb.options, + timeStamp: DateTime(2024, 1, 1), + responseStatus: 200, +); + +final historyRequestModel3 = HistoryRequestModel( + historyId: 'historyId3', + metaData: historyMetaModel3, + httpRequestModel: httpRequestModelOptions1, + httpResponseModel: responseModel, +); diff --git a/test/models/history_models_test.dart b/test/models/history_models_test.dart index 91a085e9..af13a055 100644 --- a/test/models/history_models_test.dart +++ b/test/models/history_models_test.dart @@ -75,5 +75,13 @@ void main() { expect(historyRequestModel.httpRequestModel, httpRequestModelGet4); expect(historyRequestModel.httpResponseModel, responseModel); }); + + test("Testing HistoryRequestModel getters", () { + var historyRequestModel = historyRequestModel3; + expect(historyRequestModel.historyId, 'historyId3'); + expect(historyRequestModel.metaData, historyMetaModel3); + expect(historyRequestModel.httpRequestModel, httpRequestModelOptions1); + expect(historyRequestModel.httpResponseModel, responseModel); + }); }); } diff --git a/test/models/http_request_models.dart b/test/models/http_request_models.dart index 30260983..10b84eda 100644 --- a/test/models/http_request_models.dart +++ b/test/models/http_request_models.dart @@ -466,3 +466,9 @@ const httpRequestModelPost13 = HttpRequestModel( "text": "I LOVE Flutter" }""", ); + +/// Basic OPTIONS request model +const httpRequestModelOptions1 = HttpRequestModel( + method: HTTPVerb.options, + url: 'https://reqbin.com/echo/options', +); diff --git a/test/models/request_models.dart b/test/models/request_models.dart index 9a6a91c7..74d11376 100644 --- a/test/models/request_models.dart +++ b/test/models/request_models.dart @@ -253,3 +253,9 @@ const requestModelPost13 = RequestModel( apiType: APIType.rest, httpRequestModel: httpRequestModelPost13, ); + +const requestModelOptions1 = RequestModel( + id: 'options1', + apiType: APIType.rest, + httpRequestModel: httpRequestModelOptions1, +); diff --git a/test/models/response_model_test.dart b/test/models/response_model_test.dart index 0060b13b..74872cdb 100644 --- a/test/models/response_model_test.dart +++ b/test/models/response_model_test.dart @@ -119,4 +119,21 @@ void main() { test('Testing hashcode', () { expect(responseModel.hashCode, greaterThan(0)); }); + + test('Testing fromResponse for OPTIONS method', () async { + var responseRec = await sendHttpRequest( + requestModelOptions1.id, + requestModelOptions1.apiType, + requestModelOptions1.httpRequestModel!, + defaultUriScheme: kDefaultUriScheme, + noSSL: false, + ); + + final responseData = responseModel.fromResponse(response: responseRec.$1!); + expect(responseData.statusCode, 200); + expect(responseData.headers?['access-control-allow-methods'], 'GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS'); + expect(responseData.headers?['access-control-allow-methods']?.contains("OPTIONS"), true); + expect(responseData.headers?['allow'], 'GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS'); + expect(responseData.headers?['allow']?.contains("OPTIONS"), true); + }); }