@dschu012/casclib
Version:
CascLib node bindings
96 lines (75 loc) • 2.79 kB
text/typescript
import "jest"
import * as storage from "../lib/storage"
const testData = require("../test-data.json")
describe("openStorageSync", () => {
test("open storage with no locales", () => {
const storageHandle = storage.openStorageSync(testData.storageLocation)
expect(storageHandle).toBeDefined()
storage.closeStorage(storageHandle)
})
test("open storage for the specified locales", () => {
const storageHandle = storage.openStorageSync(testData.storageLocation, [ "USUS", "KOKR" ])
expect(storageHandle).toBeDefined()
storage.closeStorage(storageHandle)
})
})
describe("openStorage", () => {
describe("with callback", () => {
test("open storage with no locales", done => {
storage.openStorage(testData.storageLocation, (error, storageHandle) => {
expect(error).toBeUndefined()
expect(storageHandle).toBeDefined()
storage.closeStorage(storageHandle)
done()
})
})
test("open storage for the specified locales", done => {
storage.openStorage(testData.storageLocation, [ "USUS", "KOKR" ], (error, storageHandle) => {
expect(error).toBeUndefined()
expect(storageHandle).toBeDefined()
storage.closeStorage(storageHandle)
done()
})
})
})
describe("without callback", () => {
test("open storage with no locales", () => {
return storage.openStorage(testData.storageLocation)
.then(storageHandle => {
expect(storageHandle).toBeDefined()
storage.closeStorage(storageHandle)
})
})
test("open storage for the specified locales", () => {
return storage.openStorage(testData.storageLocation, [ "USUS", "KOKR" ])
.then(storageHandle => {
expect(storageHandle).toBeDefined()
storage.closeStorage(storageHandle)
})
})
})
})
describe("getStorageInfo", () => {
let storageHandle: any
let gameInfo: any
beforeAll(() => {
storageHandle = storage.openStorageSync(testData.storageLocation)
gameInfo = storage.getStorageInfo(storageHandle)
})
afterAll(() => {
storage.closeStorage(storageHandle)
})
test("storage info contains a file count", () => {
expect(gameInfo.fileCount).toBeDefined()
})
test("storage info contains the game name", () => {
expect(gameInfo.gameName).toEqual(testData.gameName)
})
test("storage info contains the game build", () => {
expect(gameInfo.gameBuild).toBeDefined()
})
test("storage info contains a list of installed locales", () => {
expect(Array.isArray(gameInfo.installedLocales)).toBeTruthy()
expect(gameInfo.installedLocales.length).toBeGreaterThanOrEqual(1)
})
})