38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { Artifact } from "../src/Artifact";
|
|
|
|
const fileContents = Buffer.from('artful facts', 'utf-8')
|
|
const contentLength = 42
|
|
|
|
jest.mock('fs', () => {
|
|
return {
|
|
readFileSync: () => fileContents,
|
|
statSync: () => { return { size: contentLength } }
|
|
};
|
|
})
|
|
|
|
describe("Artifact", () => {
|
|
it('defaults contentType to raw', () => {
|
|
const artifact = new Artifact('')
|
|
expect(artifact.contentType).toBe('raw')
|
|
})
|
|
|
|
it('generates name from path', () => {
|
|
const artifact = new Artifact('some/artifact')
|
|
expect(artifact.name).toBe('artifact')
|
|
})
|
|
|
|
it('provides contentLength', () => {
|
|
const artifact = new Artifact('some/artifact')
|
|
expect(artifact.contentLength).toBe(contentLength)
|
|
})
|
|
|
|
it('provides path', () => {
|
|
const artifact = new Artifact('some/artifact')
|
|
expect(artifact.path).toBe('some/artifact')
|
|
})
|
|
|
|
it('reads artifact', () => {
|
|
const artifact = new Artifact('some/artifact')
|
|
expect(artifact.readFile()).toBe(fileContents)
|
|
})
|
|
}) |