From f4eb1af8d0aa333b3d79322a089ba1a59d1663bb Mon Sep 17 00:00:00 2001 From: Alexis Svinartchouk Date: Wed, 15 Jan 2020 22:46:03 +0100 Subject: [PATCH] Convert windows-network-drives.spec.js to typescript Change-type: patch --- tests/gui/os/windows-network-drives.spec.js | 51 -------------------- tests/gui/os/windows-network-drives.spec.ts | 53 +++++++++++++++++++++ 2 files changed, 53 insertions(+), 51 deletions(-) delete mode 100644 tests/gui/os/windows-network-drives.spec.js create mode 100644 tests/gui/os/windows-network-drives.spec.ts diff --git a/tests/gui/os/windows-network-drives.spec.js b/tests/gui/os/windows-network-drives.spec.js deleted file mode 100644 index 6494f553..00000000 --- a/tests/gui/os/windows-network-drives.spec.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2016 balena.io - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -'use strict' - -const { readFile } = require('fs') -const os = require('os') -const m = require('mochainon') -const { env } = require('process') -const { promisify } = require('util') - -// eslint-disable-next-line node/no-missing-require -const wnd = require('../../../lib/gui/app/os/windows-network-drives') - -const readFileAsync = promisify(readFile) - -describe('Network drives on Windows', () => { - before(async () => { - this.osPlatformStub = m.sinon.stub(os, 'platform') - this.osPlatformStub.returns('win32') - const wmicOutput = await readFileAsync('tests/data/wmic-output.txt', { encoding: 'ucs2' }) - this.outputStub = m.sinon.stub(wnd, 'getWmicNetworkDrivesOutput') - this.outputStub.resolves(wmicOutput) - this.oldSystemRoot = env.SystemRoot - env.SystemRoot = 'C:\\Windows' - }) - - it('should parse network drive mapping on Windows', async () => { - m.chai.expect(await wnd.replaceWindowsNetworkDriveLetter('Z:\\some-folder\\some-file')) - .to.equal('\\\\192.168.1.1\\Publicé\\some-folder\\some-file') - }) - - after(() => { - this.osPlatformStub.restore() - this.outputStub.restore() - env.SystemRoot = this.oldSystemRoot - }) -}) diff --git a/tests/gui/os/windows-network-drives.spec.ts b/tests/gui/os/windows-network-drives.spec.ts new file mode 100644 index 00000000..21e88a1a --- /dev/null +++ b/tests/gui/os/windows-network-drives.spec.ts @@ -0,0 +1,53 @@ +/* + * Copyright 2016 balena.io + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { expect } from 'chai'; +import { promises as fs } from 'fs'; +import * as os from 'os'; +import { env } from 'process'; +import { SinonStub, stub } from 'sinon'; + +import * as wnd from '../../../lib/gui/app/os/windows-network-drives'; + +describe('Network drives on Windows', () => { + let osPlatformStub: SinonStub; + let outputStub: SinonStub; + let oldSystemRoot: string | undefined; + + before(async () => { + osPlatformStub = stub(os, 'platform'); + osPlatformStub.returns('win32'); + const wmicOutput = await fs.readFile('tests/data/wmic-output.txt', { + encoding: 'ucs2', + }); + outputStub = stub(wnd, 'getWmicNetworkDrivesOutput'); + outputStub.resolves(wmicOutput); + oldSystemRoot = env.SystemRoot; + env.SystemRoot = 'C:\\Windows'; + }); + + it('should parse network drive mapping on Windows', async () => { + expect( + await wnd.replaceWindowsNetworkDriveLetter('Z:\\some-folder\\some-file'), + ).to.equal('\\\\192.168.1.1\\Publicé\\some-folder\\some-file'); + }); + + after(() => { + osPlatformStub.restore(); + outputStub.restore(); + env.SystemRoot = oldSystemRoot; + }); +});