docs.test.js — astro Source File
Architecture documentation for docs.test.js, a javascript file in the astro codebase. 11 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 83dc38d1_df1f_f39d_79ed_a93a0d42bc04["docs.test.js"] 0bb84f6c_fe6e_e843_78d4_ce459932ee31["../../../dist/cli/docs/core/open-docs.js"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> 0bb84f6c_fe6e_e843_78d4_ce459932ee31 e1f44812_b641_06e3_c6ce_2f6c32a0ff1d["../../../dist/cli/docs/infra/process-cloud-ide-provider.js"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> e1f44812_b641_06e3_c6ce_2f6c32a0ff1d b0be4d0c_86b6_a283_f2af_003189bfd572["test-utils.js"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> b0be4d0c_86b6_a283_f2af_003189bfd572 e6d936de_adfc_6f29_c26b_58af0a66adc5["SpyLogger"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> e6d936de_adfc_6f29_c26b_58af0a66adc5 dc38b823_10e6_0080_9a8c_08dc7cc3e0eb["utils.js"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> dc38b823_10e6_0080_9a8c_08dc7cc3e0eb 3cd3166d_58db_33ed_f9fd_de6da61e2611["FakeCloudIdeProvider"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> 3cd3166d_58db_33ed_f9fd_de6da61e2611 4c44a7e7_d557_5a60_a2f4_42bf0e95a9b8["FakeOperatingSystemProvider"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> 4c44a7e7_d557_5a60_a2f4_42bf0e95a9b8 b11e1880_94ce_e479_e742_7595fc12e3b0["PassthroughCommandRunner"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> b11e1880_94ce_e479_e742_7595fc12e3b0 4015699c_a2bd_40eb_480e_25e604ae67ec["SpyCommandExecutor"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> 4015699c_a2bd_40eb_480e_25e604ae67ec e1e2fac7_5a95_7a88_cb1e_0a3b91c4e607["strict"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> e1e2fac7_5a95_7a88_cb1e_0a3b91c4e607 6b0635f9_51ea_77aa_767b_7857878e98a6["node:test"] 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 --> 6b0635f9_51ea_77aa_767b_7857878e98a6 style 83dc38d1_df1f_f39d_79ed_a93a0d42bc04 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
// @ts-check
import assert from 'node:assert/strict';
import { after, before, describe, it } from 'node:test';
import { openDocsCommand } from '../../../dist/cli/docs/core/open-docs.js';
import { ProcessCloudIdeProvider } from '../../../dist/cli/docs/infra/process-cloud-ide-provider.js';
import { SpyLogger } from '../test-utils.js';
import {
FakeCloudIdeProvider,
FakeOperatingSystemProvider,
PassthroughCommandRunner,
SpyCommandExecutor,
} from './utils.js';
describe('CLI docs', () => {
describe('core', () => {
describe('openDocsCommand', () => {
it('logs an error if the platform is unsupported', async () => {
const logger = new SpyLogger();
const runner = new PassthroughCommandRunner();
const operatingSystemProvider = new FakeOperatingSystemProvider('aix');
const cloudIdeProvider = new FakeCloudIdeProvider(null);
const commandExecutor = new SpyCommandExecutor();
await runner.run(openDocsCommand, {
url: 'https://astro.build/',
logger,
operatingSystemProvider,
commandExecutor,
cloudIdeProvider,
});
assert.equal(logger.logs[0].type, 'error');
assert.match(logger.logs[0].message, /It looks like your platform/);
assert.deepStrictEqual(commandExecutor.inputs, []);
});
it('executes the command correctly on supported platforms', async () => {
const logger = new SpyLogger();
const runner = new PassthroughCommandRunner();
const operatingSystemProvider = new FakeOperatingSystemProvider('linux');
const cloudIdeProvider = new FakeCloudIdeProvider(null);
const commandExecutor = new SpyCommandExecutor();
await runner.run(openDocsCommand, {
url: 'https://astro.build/',
logger,
operatingSystemProvider,
commandExecutor,
cloudIdeProvider,
});
assert.deepStrictEqual(logger.logs, []);
assert.equal(commandExecutor.inputs.length, 1);
assert.equal(commandExecutor.inputs[0].args?.at(-1), 'https://astro.build/');
});
});
});
describe('infra', () => {
describe('ProcessCloudIdeProvider', () => {
/** @type {string | undefined} */
let prev;
before(() => {
prev = process.env.GITPOD_REPO_ROOT;
delete process.env.GITPOD_REPO_ROOT;
});
after(() => {
if (prev) {
process.env.GITPOD_REPO_ROOT = prev;
}
});
it('handles gitpod', () => {
process.env.GITPOD_REPO_ROOT = '/foo/bar/';
const cloudIdeaProvider = new ProcessCloudIdeProvider();
const platform = cloudIdeaProvider.name;
assert.equal(platform, 'gitpod');
});
});
});
});
Domain
Dependencies
- ../../../dist/cli/docs/core/open-docs.js
- ../../../dist/cli/docs/infra/process-cloud-ide-provider.js
- FakeCloudIdeProvider
- FakeOperatingSystemProvider
- PassthroughCommandRunner
- SpyCommandExecutor
- SpyLogger
- node:test
- strict
- test-utils.js
- utils.js
Source
Frequently Asked Questions
What does docs.test.js do?
docs.test.js is a source file in the astro codebase, written in javascript. It belongs to the IntegrationAdapters domain.
What does docs.test.js depend on?
docs.test.js imports 11 module(s): ../../../dist/cli/docs/core/open-docs.js, ../../../dist/cli/docs/infra/process-cloud-ide-provider.js, FakeCloudIdeProvider, FakeOperatingSystemProvider, PassthroughCommandRunner, SpyCommandExecutor, SpyLogger, node:test, and 3 more.
Where is docs.test.js in the architecture?
docs.test.js is located at packages/astro/test/units/cli/docs.test.js (domain: IntegrationAdapters, directory: packages/astro/test/units/cli).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free