@dschu012/casclib
Version:
CascLib node bindings
143 lines (117 loc) • 4.61 kB
text/typescript
import "jest"
import * as storage from "../lib/storage"
import * as find from "../lib/find"
const testData = require("../test-data.json")
test("findFilesSync", () => {
const storageHandle = storage.openStorageSync(testData.storageLocation)
const results = find.findFilesSync(storageHandle, testData.searchPattern)
expect(results).toHaveLength(1);
const result = results[0]
expect(result).toHaveProperty("baseName")
expect(result).toHaveProperty("fileSize")
expect(result).toHaveProperty("fullName", testData.searchPattern)
storage.closeStorage(storageHandle)
})
test("findFilesSync should return an empty array when no files are found", () => {
const storageHandle = storage.openStorageSync(testData.storageLocation)
const results = find.findFilesSync(storageHandle, "find_nothing")
expect(results).toHaveLength(0);
storage.closeStorage(storageHandle)
})
describe("findFiles", () => {
describe("with callback", () => {
test("list file path in arguments", done => {
storage.openStorage(testData.storageLocation, (error, storageHandle) => {
if(error) {
done.fail(error)
}
find.findFiles(storageHandle, testData.searchPattern, "", (error, results) => {
if(error) {
done.fail(error)
}
expect(results).toHaveLength(1);
const result = results[0]
expect(result).toHaveProperty("baseName")
expect(result).toHaveProperty("fileSize")
expect(result).toHaveProperty("fullName", testData.searchPattern)
storage.closeStorage(storageHandle)
done()
})
})
})
test("without list file path in arguments", done => {
storage.openStorage(testData.storageLocation, (error, storageHandle) => {
if(error) {
done.fail(error)
}
find.findFiles(storageHandle, testData.searchPattern, (error, results) => {
if(error) {
done.fail(error)
}
expect(results).toHaveLength(1);
const result = results[0]
expect(result).toHaveProperty("baseName")
expect(result).toHaveProperty("fileSize")
expect(result).toHaveProperty("fullName", testData.searchPattern)
storage.closeStorage(storageHandle)
done()
})
})
})
test("returns an empty array when no files are found", done => {
storage.openStorage(testData.storageLocation, (error, storageHandle) => {
if(error) {
done.fail(error)
}
find.findFiles(storageHandle, "find_nothing", (error, results) => {
if(error) {
done.fail(error)
}
expect(results).toHaveLength(0);
storage.closeStorage(storageHandle)
done()
})
})
})
})
describe("without callback", () => {
test("list file path in arguments", () => {
return storage.openStorage(testData.storageLocation)
.then(storageHandle => {
return find.findFiles(storageHandle, testData.searchPattern, "")
.then((results) => {
expect(results).toHaveLength(1);
const result = results[0]
expect(result).toHaveProperty("baseName")
expect(result).toHaveProperty("fileSize")
expect(result).toHaveProperty("fullName", testData.searchPattern)
storage.closeStorage(storageHandle)
})
})
})
test("without list file path in arguments", () => {
return storage.openStorage(testData.storageLocation)
.then(storageHandle => {
return find.findFiles(storageHandle, testData.searchPattern)
.then(results => {
expect(results).toHaveLength(1);
const result = results[0]
expect(result).toHaveProperty("baseName")
expect(result).toHaveProperty("fileSize")
expect(result).toHaveProperty("fullName", testData.searchPattern)
storage.closeStorage(storageHandle)
})
})
})
test("returns an empty array when no files are found", () => {
return storage.openStorage(testData.storageLocation)
.then(storageHandle => {
return find.findFiles(storageHandle, "find_nothing")
.then((results) => {
expect(results).toHaveLength(0);
storage.closeStorage(storageHandle)
})
})
})
})
})