gaelcolas / gaelcolas/Sampler

Add `CustomModule` integration-test coverage for non-`git`-only `Features` combinations

Open
#563 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PowerShell
Stars
243
Forks
46
Avg merge
1h 41m
Merged PRs (30d)
1

Description

**Problem description**
PR #560 fixed several real bugs in `Sampler/Templates/Sampler/plasterManifest.xml`:

- Broken `Features` choice values (`azurepipelines`, `vscode`, `github`, `codecov`).
- Contradictory `Features.Count` prompt conditions for `UseGit`, `UseGitVersion`, `UseCodeCovIo`, `UseGitHub`, `UseAzurePipelines`, `UseVSCode`, `License`, `LicenseType`.
- `GitHubOwner` condition using `-contains` against an integer.
- `azure-pipelines.yml` gated on the non-existent `Azure-Pipelines` feature value.

The only `CustomModule` integration test still scaffolds with `Features = 'git'`, so none of the fixed paths are exercised end-to-end.

**Verbose logs**
N/A

**How to reproduce**
1. Inspect `tests/Integration/PlasterTemplates/Sampler/CustomModulePlasterTemplate.Integration.Tests.ps1`.
2. Observe that every `Context` uses `Features = 'git'`.
3. Reintroduce any of the PR-#560 template bugs locally and confirm the integration test still passes.

**Expected behavior**
Integration test coverage exists for at least the combinations fixed in #560, e.g.:

- `Features = 'azurepipelines','github','codecov','vscode','UnitTests','ModuleQuality','Build'`
- `Features = 'All'`

with assertions that `azure-pipelines.yml`, `.github/*`, `codecov.yml`, `.vscode/`, and `GitVersion.yml` (when `gitversion` is selected) appear in the generated tree.

**Current behavior**
Only a `git`-only scaffold is validated end-to-end.

**Suggested solution**
- Add one or more `Context` blocks to `CustomModulePlasterTemplate.Integration.Tests.ps1` covering the combinations above.
- Confirm that the `'output'` and `'output/RequiredModules'` folders added to the expected-folders list in #560 are actually produced by the template from a clean `$TestDrive` and are not leaking from a prior `./build.ps1` run.

**Operating system the target node is running**
N/A

**PowerShell version and build the target node is running**
N/A

**Module version used**
Sampler `Unreleased` / post-#560.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.