Skip to content

Commit ce195eb

Browse files
committed
shades upgrades, dog fooding progress
1 parent b831b4a commit ce195eb

File tree

3 files changed

+68
-13
lines changed

3 files changed

+68
-13
lines changed

e2e/dogfooding.spec.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import { expect, test } from '@playwright/test'
2+
import { login } from './helpers.js'
3+
4+
test('DOG FOODING TIME - Create a service that uses the StackCraft GitHub repository. Clone, install, build and run the service', async ({
5+
page,
6+
browserName,
7+
}) => {
8+
const uuid = crypto.randomUUID()
9+
10+
const stackName = `e2e-dog-fooding-time-${uuid}`
11+
const displayName = `E2E Test Stack - ${browserName} - ${uuid}`
12+
13+
const workingDirectory = `/tmp/e2e-dog-fooding-time-${uuid}`
14+
15+
await page.goto('/')
16+
await login(page)
17+
18+
// Create stack
19+
await page.locator('button', { hasText: 'Create Stack' }).first().click()
20+
await expect(page.locator('shade-create-stack')).toBeVisible()
21+
22+
await page.locator('input[name="name"]').fill(stackName)
23+
await page.locator('input[name="displayName"]').fill(displayName)
24+
await page.locator('textarea[name="description"]').fill('Created by E2E test')
25+
await page.locator('input[name="mainDirectory"]').fill('/tmp/e2e-test')
26+
await page.locator('button', { hasText: 'Create' }).click()
27+
28+
await expect(page.locator('shade-noty-list')).toContainText(`Stack "${displayName}" was created successfully.`)
29+
30+
await expect(page.locator('shade-dashboard')).toBeVisible()
31+
32+
await expect(page.getByTestId('page-header-title')).toContainText(displayName)
33+
34+
// Create the service with the StackCraft GitHub repository
35+
await page.locator('button', { hasText: 'Create Service' }).first().click()
36+
await expect(page.locator('shade-create-service-wizard')).toBeVisible()
37+
38+
await page.locator('input[name="displayName"]').fill('StackCraft DOG FOODING TIME!')
39+
await page.locator('input[name="workingDirectory"]').fill(workingDirectory)
40+
await page.locator('input[name="runCommand"]').fill('yarn start:service')
41+
42+
await page.locator('input[name="installCommand"]').fill('yarn install')
43+
await page.locator('input[name="buildCommand"]').fill('yarn build')
44+
await page.locator('input[name="runCommand"]').fill('yarn start:service')
45+
46+
await page.locator('button', { hasText: 'Create' }).click()
47+
48+
await page.locator('button', { hasText: 'Set up now' }).click()
49+
50+
await expect(page.locator('shade-dashboard')).toBeVisible()
51+
await expect(page.locator(`text=${displayName}`)).toBeVisible()
52+
53+
// Verify the service is running
54+
await expect(page.locator('shade-service-logs')).toBeVisible()
55+
})

frontend/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
"@furystack/inject": "^12.0.35",
2626
"@furystack/logging": "^8.1.4",
2727
"@furystack/rest-client-fetch": "^8.1.6",
28-
"@furystack/shades": "^13.2.0",
29-
"@furystack/shades-common-components": "^15.0.3",
28+
"@furystack/shades": "^13.2.1",
29+
"@furystack/shades-common-components": "^15.0.4",
3030
"@furystack/utils": "^8.2.4",
3131
"common": "workspace:^"
3232
}

yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -546,29 +546,29 @@ __metadata:
546546
languageName: node
547547
linkType: hard
548548

549-
"@furystack/shades-common-components@npm:^15.0.3":
550-
version: 15.0.3
551-
resolution: "@furystack/shades-common-components@npm:15.0.3"
549+
"@furystack/shades-common-components@npm:^15.0.4":
550+
version: 15.0.4
551+
resolution: "@furystack/shades-common-components@npm:15.0.4"
552552
dependencies:
553553
"@furystack/cache": "npm:^6.1.4"
554554
"@furystack/core": "npm:^16.0.3"
555555
"@furystack/inject": "npm:^12.0.35"
556-
"@furystack/shades": "npm:^13.2.0"
556+
"@furystack/shades": "npm:^13.2.1"
557557
"@furystack/utils": "npm:^8.2.4"
558558
path-to-regexp: "npm:^8.4.0"
559-
checksum: 10c0/764297334a2d8f6f5bee85ea84abefa389a7f269efd6a27b8104b03fe111411e66c2c55486c3f564d7f7eaef9572265b40c713abc92d4fb569bbb8613ba6f339
559+
checksum: 10c0/f790266ef0c475b41ac605755d0badb042181b567e45ad3e7d3235fcf7342194c5017f8e948dbbfa7ff3efe64e6451423ec1b2a1d569d88f70af473e7d946e7d
560560
languageName: node
561561
linkType: hard
562562

563-
"@furystack/shades@npm:^13.2.0":
564-
version: 13.2.0
565-
resolution: "@furystack/shades@npm:13.2.0"
563+
"@furystack/shades@npm:^13.2.1":
564+
version: 13.2.1
565+
resolution: "@furystack/shades@npm:13.2.1"
566566
dependencies:
567567
"@furystack/inject": "npm:^12.0.35"
568568
"@furystack/rest": "npm:^8.1.4"
569569
"@furystack/utils": "npm:^8.2.4"
570570
path-to-regexp: "npm:^8.4.0"
571-
checksum: 10c0/dfd0974e2c27f6044230450f03f38bb6d5dac3f567cdf8982739322e8570d8b47258fdd4fec3df1e5c0cd0a3bede41028f6b934d5347e8c0d0389bc0b468b202
571+
checksum: 10c0/b19e167a12590bbe1eb2471d460dac6d94797ec31d99611648ea3f5e0cd63202f9bca75b7d7bdee58a4f417164f72728d7e8bceab17102e35dba6edce7079d6b
572572
languageName: node
573573
linkType: hard
574574

@@ -2828,8 +2828,8 @@ __metadata:
28282828
"@furystack/inject": "npm:^12.0.35"
28292829
"@furystack/logging": "npm:^8.1.4"
28302830
"@furystack/rest-client-fetch": "npm:^8.1.6"
2831-
"@furystack/shades": "npm:^13.2.0"
2832-
"@furystack/shades-common-components": "npm:^15.0.3"
2831+
"@furystack/shades": "npm:^13.2.1"
2832+
"@furystack/shades-common-components": "npm:^15.0.4"
28332833
"@furystack/utils": "npm:^8.2.4"
28342834
"@types/node": "npm:^25.5.0"
28352835
common: "workspace:^"

0 commit comments

Comments
 (0)