Skip to content

Commit

Permalink
add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
slorber committed Nov 8, 2024
1 parent d1d401c commit 7431f8e
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 1 deletion.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

66 changes: 66 additions & 0 deletions packages/docusaurus/src/server/__tests__/siteMessages.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

import path from 'path';
import {fromPartial} from '@total-typescript/shoehorn';
import {collectAllSiteMessages} from '../siteMessages';

function siteDirFixture(name: string) {
return path.resolve(__dirname, '__fixtures__', 'siteMessages', name);
}

describe('collectAllSiteMessages', () => {
describe('uselessBabelConfigMessages', () => {
async function getMessagesFor({
siteDir,
swcJsLoader,
}: {
siteDir: string;
swcJsLoader: boolean;
}) {
return collectAllSiteMessages(
fromPartial({
site: {
props: {
siteDir,
siteConfig: {
future: {
experimental_faster: {
swcJsLoader,
},
},
},
},
},
}),
);
}

it('warns for useless babel config file when SWC enabled', async () => {
const messages = await getMessagesFor({
siteDir: siteDirFixture('siteWithBabelConfigFile'),
swcJsLoader: true,
});
expect(messages).toMatchInlineSnapshot(`
[
{
"message": "Your site is using the SWC js loader. You can safely remove the Babel config file at \`packages/docusaurus/src/server/__tests__/__fixtures__/siteMessages/siteWithBabelConfigFile/babel.config.js\`.",
"type": "warning",
},
]
`);
});

it('does not warn for babel config file when SWC disabled', async () => {
const messages = await getMessagesFor({
siteDir: siteDirFixture('siteWithBabelConfigFile'),
swcJsLoader: false,
});
expect(messages).toMatchInlineSnapshot(`[]`);
});
});
});
4 changes: 3 additions & 1 deletion packages/docusaurus/src/server/siteMessages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ const uselessBabelConfigMessages: SiteMessageCreator = async ({site}) => {
return [];
};

async function collectAllSiteMessages(params: Params): Promise<SiteMessage[]> {
export async function collectAllSiteMessages(
params: Params,
): Promise<SiteMessage[]> {
const messageCreators: SiteMessageCreator[] = [uselessBabelConfigMessages];
return (
await Promise.all(
Expand Down

0 comments on commit 7431f8e

Please sign in to comment.