1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-08 13:00:05 +00:00

fix(form-data): fixed formData type check

This commit is contained in:
Yury Shkoda
2023-07-10 19:14:47 +03:00
parent 104d1b88b3
commit 6272eeda23
2 changed files with 13 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
import * as NodeFormData from 'form-data'
import { convertToCSV } from '../utils/convertToCsv'
import { isNode } from '../utils'
/**
* One of the approaches SASjs takes to send tables-formatted JSON (see README)
@@ -26,12 +27,14 @@ export const generateFileUploadForm = (
)
}
if (formData instanceof NodeFormData) {
formData.append(name, csv, {
if (isNode()) {
// environment is Node and formData is instance of NodeFormData
;(formData as NodeFormData).append(name, csv, {
filename: `${name}.csv`,
contentType: 'application/csv'
})
} else if (formData instanceof FormData) {
} else {
// environment is Browser and formData is instance of FormData
const file = new Blob([csv], {
type: 'application/csv'
})

View File

@@ -1,6 +1,7 @@
import { generateFileUploadForm } from '../generateFileUploadForm'
import * as NodeFormData from 'form-data'
import { convertToCSV } from '../../utils/convertToCsv'
import * as NodeFormData from 'form-data'
import * as isNodeModule from '../../utils/isNode'
describe('generateFileUploadForm', () => {
beforeAll(() => {
@@ -14,6 +15,10 @@ describe('generateFileUploadForm', () => {
})
describe('browser', () => {
afterAll(() => {
jest.restoreAllMocks()
})
it('should generate file upload form from data', () => {
const formData = new FormData()
const testTable = 'sometable'
@@ -33,6 +38,7 @@ describe('generateFileUploadForm', () => {
)[0]
jest.spyOn(formData, 'append').mockImplementation(() => {})
jest.spyOn(isNodeModule, 'isNode').mockImplementation(() => false)
generateFileUploadForm(formData, testTableWithNullVars)