s3-uploading
Version:
The small lib which allows to upload directory to AWS S3.
70 lines (59 loc) • 1.61 kB
JavaScript
import { handleUploadSuccessfully, handleUploadError } from '../src/actions'
jest.mock('recursive-readdir')
jest.mock('aws-sdk')
jest.mock('../src/actions')
const recursive = require('recursive-readdir')
recursive.mockImplementation(directory => {
return Promise.resolve([
'__tests__/fixtures/dir1/build2/index.js',
'__tests__/fixtures/dir1/build1/image111.png',
'__tests__/fixtures/dir1/build1/abc.js/klklk.js',
'__tests__/fixtures/dir1/build1/index/abc.js'
])
})
const mockHandleUploadSuccessfully = jest.fn(() => 1)
const mockHandleUploadError = jest.fn(() => 0)
const S3 = require('aws-sdk').S3
import Uploader from '../src'
var version = require('../package.json').version
beforeEach(() => {
S3.mockClear()
})
test('test upload successfully', () => {
jest.mock('../src/helpers')
jest.mock('../src/index')
const getUploadObject = require('../src/helpers').getUploadObject
const isNone = require('../src/helpers').isNone
getUploadObject.mockImplementation(() => {
return {
hello: 'world'
}
})
isNone.mockImplementation(() => false)
const options = {
s3: {
accessKeyId: '',
secretAccessKey: '',
endpoint: '',
region: '',
sslEnabled: false
},
upload: {
directory: '__tests__/fixtures/dir1',
bucket: `TEST_ABC/${version}`
}
}
S3.mockImplementation(() => {
return {
upload: (params, cb) => {
const status = 'success'
const data = {
Location: status
}
cb(null, data)
}
}
})
const job = new Uploader(options)
job.upload()
})