From b18c309c3a67729aa554760d4b0b64fe7c530bd3 Mon Sep 17 00:00:00 2001 From: "Julio C. Rocha" Date: Wed, 2 Aug 2023 17:13:30 -0700 Subject: [PATCH 1/6] Define FetchTest --- .../RNTesterIntegrationTests.cpp | 7 +++ vnext/overrides.json | 4 ++ vnext/src/IntegrationTests/FetchTest.js | 49 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 vnext/src/IntegrationTests/FetchTest.js diff --git a/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp b/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp index b9f3886dc94..527f22bea2e 100644 --- a/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp +++ b/vnext/Desktop.IntegrationTests/RNTesterIntegrationTests.cpp @@ -223,5 +223,12 @@ TEST_CLASS (RNTesterIntegrationTests) { Assert::AreEqual(TestStatus::Passed, result.Status, result.Message.c_str()); } + BEGIN_TEST_METHOD_ATTRIBUTE(Fetch) + END_TEST_METHOD_ATTRIBUTE() + TEST_METHOD(Fetch) { + auto result = m_runner.RunTest("IntegrationTests/FetchTest", "FetchTest"); + Assert::AreEqual(TestStatus::Passed, result.Status, result.Message.c_str()); + } + #pragma endregion Extended Tests }; diff --git a/vnext/overrides.json b/vnext/overrides.json index 3948e71eef7..20cfdd2bb38 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -156,6 +156,10 @@ "type": "platform", "file": "src/IntegrationTests/DummyTest.js" }, + { + "type": "platform", + "file": "src/IntegrationTests/FetchTest.js" + }, { "type": "platform", "file": "src/IntegrationTests/LoggingTest.js" diff --git a/vnext/src/IntegrationTests/FetchTest.js b/vnext/src/IntegrationTests/FetchTest.js new file mode 100644 index 00000000000..9ece1f6520a --- /dev/null +++ b/vnext/src/IntegrationTests/FetchTest.js @@ -0,0 +1,49 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * @format + * @flow + */ +import React, { useEffect, useState } from 'react'; +import { Button, Text, View } from 'react-native'; + +const { TestModule } = ReactNative.NativeModules; + +const FetchTest = () => { + const [content, setContent] = useState('NOTHING'); + const [reqId, setReqId] = useState(0); + const uri = + 'https://raw.githubusercontent.com/microsoft/react-native-windows/main/.yarnrc.yml'; + //'http://localhost:5555'; + + const doFetch = async () => { + var response = await fetch(uri); + var text = await response.text(); + setReqId(reqId + 1); + setContent(text); + }; + + useEffect(() => { + doFetch().catch(console.error); + TestModule.markTestPassed(true); + }, []); + + return ( + + ); + +// return ( +// +// Response {reqId}: +// [{content}] +//