Skip to content

Commit 8e26a21

Browse files
committed
test: e2e
1 parent 5a8332b commit 8e26a21

File tree

5 files changed

+56
-5
lines changed

5 files changed

+56
-5
lines changed

src/lwc-dev-server/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ function createLWCServerConfig(rootDir: string, logger: Logger): ServerConfig {
5858
const resolvedDir = path.resolve(rootDir, dir.path, 'main', 'default');
5959
if (existsSync(resolvedDir) && lstatSync(resolvedDir).isDirectory()) {
6060
logger.debug(`Adding ${resolvedDir} to namespace paths`);
61-
namespacePaths.push();
61+
namespacePaths.push(resolvedDir);
6262
} else {
6363
logger.warn(`Skipping ${resolvedDir} because it does not exist or is not a directory`);
6464
}
@@ -92,9 +92,9 @@ export async function startLWCServer(rootDir: string, logger: Logger): Promise<L
9292

9393
[
9494
'exit', // normal exit flow
95-
'SIGINT', // when a user presses ctrl+c
96-
'SIGTERM', // when a user kills the process
97-
].forEach(signal => process.on(signal, cleanup));
95+
'SIGINT', // when a user presses ctrl+c
96+
'SIGTERM', // when a user kills the process
97+
].forEach((signal) => process.on(signal, cleanup));
9898

9999
return lwcDevServer;
100100
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// Intentionally blank file.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// Intentionally blank file.
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
{
2-
"packageDirectories": [{}]
2+
"packageDirectories": [
3+
{
4+
"path": "force-app"
5+
}
6+
]
37
}

test/lwc-dev-server/index.e2e.test.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* Copyright (c) 2024, salesforce.com, inc.
3+
* All rights reserved.
4+
* Licensed under the BSD 3-Clause license.
5+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6+
*/
7+
8+
import path from 'node:path';
9+
import { fileURLToPath } from 'node:url';
10+
import { expect } from 'chai';
11+
import sinon from 'sinon';
12+
import { Logger } from '@salesforce/core';
13+
import { TestContext } from '@salesforce/core/testSetup';
14+
import { LWCServer } from '@lwc/lwc-dev-server';
15+
import * as devServer from '../../src/lwc-dev-server/index.js';
16+
// eslint-disable-next-line no-underscore-dangle
17+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
18+
const logger = {
19+
debug: () => {},
20+
warn: () => {},
21+
trace: () => {},
22+
getLevel: () => 10,
23+
} as Logger;
24+
25+
describe('lwc-dev-server e2e', () => {
26+
const $$ = new TestContext();
27+
let spy: sinon.SinonSpy;
28+
29+
beforeEach(() => {
30+
spy = $$.SANDBOX.stub(process, 'exit');
31+
});
32+
33+
afterEach(() => {
34+
$$.restore();
35+
$$.SANDBOX.resetHistory();
36+
});
37+
38+
it('e2e', async () => {
39+
const server = await devServer.startLWCServer(path.resolve(__dirname, './__mocks__'), logger);
40+
41+
expect(server).to.be.an.instanceOf(LWCServer);
42+
server.stopServer();
43+
expect(spy.calledWith(0)).to.be.true;
44+
});
45+
});

0 commit comments

Comments
 (0)