Skip to content

Commit 60b7851

Browse files
authored
fix: evaluate uploadAPI inputs (#1020)
evaluate uploadAPI inputs
1 parent 503214e commit 60b7851

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@ensembleui/react-runtime": patch
3+
---
4+
5+
evaluate uploadFiles inputs

packages/runtime/src/runtime/hooks/__tests__/useUploadFile.test.tsx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/* eslint import/first: 0 */
2-
const fetchMock = jest.fn();
2+
const fetchMock = jest.fn<
3+
Promise<{ body: { data: string }; isSuccess: boolean }>,
4+
any[]
5+
>();
36
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
47
const frameworkActual = jest.requireActual("@ensembleui/react-framework");
58

@@ -35,6 +38,9 @@ describe("file upload with pick files", () => {
3538
screen={{
3639
name: "test_cache",
3740
id: "test_cache",
41+
onLoad: {
42+
executeCode: "ensemble.storage.set('token', 'Testtoken123')",
43+
},
3844
body: {
3945
name: "Button",
4046
properties: {
@@ -47,6 +53,10 @@ describe("file upload with pick files", () => {
4753
uploadFiles: {
4854
uploadApi: "https://randomuser.me/api",
4955
files: "Test Files",
56+
inputs: {
57+
// eslint-disable-next-line no-template-curly-in-string
58+
headerToken: "${ensemble.storage.get('token')}",
59+
},
5060
onComplete: {
5161
executeCode: "console.log('Success')",
5262
},
@@ -86,5 +96,13 @@ describe("file upload with pick files", () => {
8696
expect(pickFiles.files?.[0].name).toBe("example.png");
8797
expect(logSpy).toHaveBeenCalledWith("Success");
8898
});
99+
100+
await waitFor(() => {
101+
expect(fetchMock.mock.calls[0][4]).toEqual(
102+
expect.objectContaining({
103+
headerToken: "Testtoken123",
104+
}),
105+
);
106+
});
89107
});
90108
});

packages/runtime/src/runtime/hooks/useEnsembleAction.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -611,10 +611,10 @@ export const useUploadFiles: EnsembleActionHook<UploadFilesAction> = (
611611
const context = merge({}, evalContext, args[0]);
612612

613613
const evaluatedInputs = evaluateDeep(
614-
{ files: action.files },
614+
{ files: action.files, inputs: action.inputs },
615615
screenModel,
616616
context,
617-
) as { files: FileList };
617+
) as { files: FileList; inputs: { [key: string]: unknown } };
618618

619619
const files = evaluatedInputs.files;
620620

@@ -629,8 +629,9 @@ export const useUploadFiles: EnsembleActionHook<UploadFilesAction> = (
629629
files,
630630
progressCallback,
631631
{
632-
...evaluatedInputs,
632+
...evaluatedInputs.inputs,
633633
...context,
634+
files: evaluatedInputs.files,
634635
ensemble: {
635636
env: appContext?.env,
636637
secrets: appContext?.secrets,

0 commit comments

Comments
 (0)