Files
pnpm/test/install/store.ts
2018-03-05 15:49:34 +02:00

30 lines
907 B
TypeScript

import path = require('path')
import rimraf = require('rimraf-then')
import {install, installPkgs} from 'supi'
import tape = require('tape')
import promisifyTape from 'tape-promise'
import writeJsonFile = require('write-json-file')
import {prepare, testDefaults} from '../utils'
const test = promisifyTape(tape)
test('repeat install with corrupted `store.json` should work', async (t: tape.Test) => {
const project = prepare(t)
const opts = await testDefaults()
await installPkgs(['is-negative@1.0.0'], opts)
await rimraf('node_modules')
// When a package reference is missing from `store.json`
// we assume that it is not in the store.
// The package is downloaded and in case there is a folder
// in the store, it is overwritten.
await writeJsonFile(path.join(opts.store, '2', 'store.json'), {})
await install(opts)
const m = project.requireModule('is-negative')
t.ok(m)
})