Skip to content

Commit db40e9e

Browse files
Copiloteleanorjboyd
andcommitted
Fix duplicate content in Python Report Issue template by using only formatted user data
Co-authored-by: eleanorjboyd <[email protected]>
1 parent d56191c commit db40e9e

File tree

2 files changed

+9
-27
lines changed

2 files changed

+9
-27
lines changed

src/client/common/application/commands/reportIssueCommand.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ export class ReportIssueCommandHandler implements IExtensionSingleActivationServ
4747

4848
private argSettingsPath = path.join(EXTENSION_ROOT_DIR, 'resources', 'report_issue_user_settings.json');
4949

50-
private templatePath = path.join(EXTENSION_ROOT_DIR, 'resources', 'report_issue_template.md');
51-
5250
private userDataTemplatePath = path.join(EXTENSION_ROOT_DIR, 'resources', 'report_issue_user_data_template.md');
5351

5452
public async openReportIssue(): Promise<void> {
@@ -88,7 +86,6 @@ export class ReportIssueCommandHandler implements IExtensionSingleActivationServ
8886
}
8987
}
9088
});
91-
const template = await fs.readFile(this.templatePath, 'utf8');
9289
const userTemplate = await fs.readFile(this.userDataTemplatePath, 'utf8');
9390
const interpreter = await this.interpreterService.getActiveInterpreter();
9491
const pythonVersion = interpreter?.version?.raw ?? '';
@@ -120,8 +117,7 @@ export class ReportIssueCommandHandler implements IExtensionSingleActivationServ
120117

121118
await this.commandManager.executeCommand('workbench.action.openIssueReporter', {
122119
extensionId: 'ms-python.python',
123-
issueBody: template,
124-
data: userTemplate.format(
120+
issueBody: userTemplate.format(
125121
pythonVersion,
126122
virtualEnvKind,
127123
languageServer,

src/test/common/application/commands/reportIssueCommand.unit.test.ts

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ suite('Report Issue Command', () => {
3939
let interpreterService: IInterpreterService;
4040
let configurationService: IConfigurationService;
4141
let appEnvironment: IApplicationEnvironment;
42-
let expectedIssueBody: string;
4342
let getExtensionsStub: sinon.SinonStub;
4443

4544
setup(async () => {
@@ -84,17 +83,6 @@ suite('Report Issue Command', () => {
8483
);
8584
await reportIssueCommandHandler.activate();
8685

87-
const issueTemplatePath = path.join(
88-
EXTENSION_ROOT_DIR_FOR_TESTS,
89-
'src',
90-
'test',
91-
'common',
92-
'application',
93-
'commands',
94-
'issueTemplate.md',
95-
);
96-
expectedIssueBody = fs.readFileSync(issueTemplatePath, 'utf8');
97-
9886
getExtensionsStub.returns([
9987
{
10088
id: 'ms-python.python',
@@ -126,17 +114,16 @@ suite('Report Issue Command', () => {
126114
);
127115
const expectedData = fs.readFileSync(userDataTemplatePath, 'utf8');
128116

129-
const args: [string, { extensionId: string; issueBody: string; data: string }] = capture<
117+
const args: [string, { extensionId: string; issueBody: string }] = capture<
130118
AllCommands,
131-
{ extensionId: string; issueBody: string; data: string }
119+
{ extensionId: string; issueBody: string }
132120
>(cmdManager.executeCommand).last();
133121

134122
verify(cmdManager.registerCommand(Commands.ReportIssue, anything(), anything())).once();
135123
verify(cmdManager.executeCommand('workbench.action.openIssueReporter', anything())).once();
136124
expect(args[0]).to.be.equal('workbench.action.openIssueReporter');
137-
const { issueBody, data } = args[1];
138-
expect(issueBody).to.be.equal(expectedIssueBody);
139-
expect(data).to.be.equal(expectedData);
125+
const { issueBody } = args[1];
126+
expect(issueBody).to.be.equal(expectedData);
140127
});
141128

142129
test('Test if issue body is filled when only including settings which are explicitly set', async () => {
@@ -167,16 +154,15 @@ suite('Report Issue Command', () => {
167154
);
168155
const expectedData = fs.readFileSync(userDataTemplatePath, 'utf8');
169156

170-
const args: [string, { extensionId: string; issueBody: string; data: string }] = capture<
157+
const args: [string, { extensionId: string; issueBody: string }] = capture<
171158
AllCommands,
172-
{ extensionId: string; issueBody: string; data: string }
159+
{ extensionId: string; issueBody: string }
173160
>(cmdManager.executeCommand).last();
174161

175162
verify(cmdManager.executeCommand('workbench.action.openIssueReporter', anything())).once();
176163
expect(args[0]).to.be.equal('workbench.action.openIssueReporter');
177-
const { issueBody, data } = args[1];
178-
expect(issueBody).to.be.equal(expectedIssueBody);
179-
expect(data).to.be.equal(expectedData);
164+
const { issueBody } = args[1];
165+
expect(issueBody).to.be.equal(expectedData);
180166
});
181167
test('Should send telemetry event when run Report Issue Command', async () => {
182168
const sendTelemetryStub = sinon.stub(Telemetry, 'sendTelemetryEvent');

0 commit comments

Comments
 (0)