community templates (#691)

This commit is contained in:
Will Chen
2025-07-23 10:11:16 -07:00
committed by GitHub
parent 9edd0fa80f
commit e947eede7a
37 changed files with 544 additions and 135 deletions

View File

@@ -876,11 +876,11 @@ export class PageObject {
await this.page.getByRole("link", { name: "Hub" }).click();
}
private async selectTemplate(templateName: string) {
async selectTemplate(templateName: string) {
await this.page.getByRole("img", { name: templateName }).click();
}
async selectHubTemplate(templateName: "Next.js Template") {
async goToHubAndSelectTemplate(templateName: "Next.js Template") {
await this.goToHubTab();
await this.selectTemplate(templateName);
await this.goToAppsTab();

View File

@@ -112,7 +112,7 @@ export default App;
test("problems - manual edit (next.js)", async ({ po }) => {
await po.setUp({ enableAutoFixProblems: true });
await po.selectHubTemplate("Next.js Template");
await po.goToHubAndSelectTemplate("Next.js Template");
await po.sendPrompt("tc=1");
const appPath = await po.getCurrentAppPath();

View File

@@ -81,7 +81,7 @@ testSkipIfWindows("upgrade app to select component", async ({ po }) => {
testSkipIfWindows("select component next.js", async ({ po }) => {
await po.setUp();
await po.selectHubTemplate("Next.js Template");
await po.goToHubAndSelectTemplate("Next.js Template");
await po.sendPrompt("tc=basic");
await po.clickTogglePreviewPanel();

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": false,

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -13,6 +13,7 @@
"maxChatTurnsInContext": 5,
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -10,6 +10,7 @@
"experiments": {},
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -10,6 +10,7 @@
"experiments": {},
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -10,6 +10,7 @@
"experiments": {},
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -11,6 +11,7 @@
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -0,0 +1,20 @@
{
"selectedModel": {
"name": "auto",
"provider": "auto"
},
"providerSettings": {},
"telemetryConsent": "unset",
"telemetryUserId": "[UUID]",
"hasRunBefore": true,
"experiments": {},
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,
"releaseChannel": "stable",
"isTestMode": true
}

View File

@@ -0,0 +1,21 @@
{
"selectedModel": {
"name": "auto",
"provider": "auto"
},
"providerSettings": {},
"telemetryConsent": "unset",
"telemetryUserId": "[UUID]",
"hasRunBefore": true,
"experiments": {},
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "jeff-kazzee/dyad-template-angular",
"selectedChatMode": "build",
"acceptedCommunityCode": true,
"enableAutoFixProblems": false,
"enableAutoUpdate": true,
"releaseChannel": "stable",
"isTestMode": true
}

View File

@@ -0,0 +1,21 @@
{
"selectedModel": {
"name": "test-model",
"provider": "custom::testing",
"customModelId": 1
},
"providerSettings": {},
"telemetryConsent": "unset",
"telemetryUserId": "[UUID]",
"hasRunBefore": true,
"experiments": {},
"lastShownReleaseNotesVersion": "[scrubbed]",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "next",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,
"releaseChannel": "stable",
"isTestMode": true
}

View File

@@ -20,6 +20,7 @@
"thinkingBudget": "low",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -20,6 +20,7 @@
"thinkingBudget": "medium",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -20,6 +20,7 @@
"thinkingBudget": "high",
"enableProLazyEditsMode": true,
"enableProSmartFilesContextMode": true,
"selectedTemplateId": "react",
"selectedChatMode": "build",
"enableAutoFixProblems": false,
"enableAutoUpdate": true,

View File

@@ -0,0 +1,19 @@
import { test } from "./helpers/test_helper";
test("template - community", async ({ po }) => {
await po.goToHubTab();
// This is a community template, so we should see the consent dialog
await po.selectTemplate("Angular");
await po.page.getByRole("button", { name: "Cancel" }).click();
await po.snapshotSettings();
await po.selectTemplate("Angular");
await po.page.getByRole("button", { name: "Accept" }).click();
await po.page
.locator("section")
.filter({ hasText: "Community" })
.locator("div")
.first()
.click();
await po.snapshotSettings();
});

View File

@@ -3,7 +3,8 @@ import { expect } from "@playwright/test";
test("create next.js app", async ({ po }) => {
await po.setUp();
await po.selectHubTemplate("Next.js Template");
await po.goToHubAndSelectTemplate("Next.js Template");
await po.snapshotSettings();
// Create an app
await po.sendPrompt("tc=edit-made-with-dyad");