From 9fd1eb712e047c623b3edfb502217d8d54211dcf Mon Sep 17 00:00:00 2001 From: Jeffrey Guenther Date: Tue, 5 Mar 2024 17:24:11 -0800 Subject: [PATCH] wip --- src/commands/theme/settings/download.test.ts | 7 ++++ src/services/bucket/create.test.ts | 6 +++ src/services/bucket/delete.test.ts | 11 +++++ src/services/bucket/init.test.ts | 20 ++++++++++ src/services/bucket/list.test.ts | 5 +++ src/services/bucket/list.ts | 7 ++-- src/services/theme/deploy.test.ts | 42 ++++++++++++++++++++ src/services/theme/get.test.ts | 5 +++ src/utilities/theme.test.ts | 22 ++++++++++ 9 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 src/commands/theme/settings/download.test.ts create mode 100644 src/services/bucket/create.test.ts create mode 100644 src/services/bucket/delete.test.ts create mode 100644 src/services/bucket/init.test.ts create mode 100644 src/services/bucket/list.test.ts create mode 100644 src/services/theme/deploy.test.ts create mode 100644 src/services/theme/get.test.ts create mode 100644 src/utilities/theme.test.ts diff --git a/src/commands/theme/settings/download.test.ts b/src/commands/theme/settings/download.test.ts new file mode 100644 index 0000000..639ecc8 --- /dev/null +++ b/src/commands/theme/settings/download.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('download', () => { + describe('run', () => { + test('call cli2 command', () => { }) + }) +}) diff --git a/src/services/bucket/create.test.ts b/src/services/bucket/create.test.ts new file mode 100644 index 0000000..ce8ba6b --- /dev/null +++ b/src/services/bucket/create.test.ts @@ -0,0 +1,6 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('create', () => { + test.fails('creates bucket and shows message', () => { }) + test.fails('creates mulitple buckets and shows message', () => { }) +}) diff --git a/src/services/bucket/delete.test.ts b/src/services/bucket/delete.test.ts new file mode 100644 index 0000000..59ae482 --- /dev/null +++ b/src/services/bucket/delete.test.ts @@ -0,0 +1,11 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('delete', () => { + describe('when forced', () => { + test.fails('deletes files without confirmation', () => { }) + }) + describe('when asked for confirmation', () => { + test.fails('deletes files after receiving confirmation', () => { }) + test.fails('does not delete files after being denied confirmation', () => { }) + }) +}) diff --git a/src/services/bucket/init.test.ts b/src/services/bucket/init.test.ts new file mode 100644 index 0000000..9249074 --- /dev/null +++ b/src/services/bucket/init.test.ts @@ -0,0 +1,20 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('init', () => { + describe('init', () => { + describe('when .gitignore exists', () => { + test.fails('creates buckets and updates .gitignore', () => { }) + }) + describe('when .gitignore does not exist', () => { + test.fails('creates buckets and creates .gitignore', () => { }) + }) + }) + describe('renderBucketListSection', () => { + describe('when array of buckets provided', () => { + test.fails('returns a bucket list section', () => { }) + }) + describe('when no buckets provided', () => { + test.fails('returns an empty selection list', () => { }) + }) + }) +}) diff --git a/src/services/bucket/list.test.ts b/src/services/bucket/list.test.ts new file mode 100644 index 0000000..33616de --- /dev/null +++ b/src/services/bucket/list.test.ts @@ -0,0 +1,5 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('list', () => { + test.fails('renders a table of buckets', () => { }) +}) diff --git a/src/services/bucket/list.ts b/src/services/bucket/list.ts index ff7526a..4e00e09 100644 --- a/src/services/bucket/list.ts +++ b/src/services/bucket/list.ts @@ -1,8 +1,9 @@ import { renderTable } from "@shopify/cli-kit/node/ui" -import { getBuckets } from "../../utilities/bucket.js" +import { getBuckets, getShopkeeperPath } from "../../utilities/bucket.js" -export async function list() { - const buckets = await getBuckets() +export async function list(rootPath?: string) { + const shopkeeperRoot = rootPath || await getShopkeeperPath() + const buckets = await getBuckets(shopkeeperRoot) renderTable({ rows: buckets.map(bucket => ({ bucket })), diff --git a/src/services/theme/deploy.test.ts b/src/services/theme/deploy.test.ts new file mode 100644 index 0000000..8aa3197 --- /dev/null +++ b/src/services/theme/deploy.test.ts @@ -0,0 +1,42 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('deploy', () => { + describe('deploy', () => { + describe('when blue/green strategy', () => { + test.fails('makes blue/green deploy', () => { }) + }) + describe('when no strategy is passsed', () => { + test.fails('makes basic deploy', () => { }) + }) + }) + + describe('blueGreenDeploy', () => { + test.fails('pulls live theme settings and updates on-deck theme', () => { }) + }) + + describe('basicDeploy', () => { + test.fails('pulls live theme settings and updates theme', () => { }) + }) + + describe('getLiveTheme', () => { + describe('when live theme exists', () => { + test.fails('returns live theme id', () => { }) + }) + describe('when live theme does not exist', () => { + test.fails('throws abort error', () => { }) + }) + }) + + describe('getOnDeckThemeId', () => { + describe('when published theme is blue', () => { + test('returns green', () => { }) + }) + describe('when published theme is green', () => { + test('returns blue', () => { }) + }) + }) + + describe('gitHeadHash', () => { + test('returns the first 8 chars', () => { }) + }) +}) diff --git a/src/services/theme/get.test.ts b/src/services/theme/get.test.ts new file mode 100644 index 0000000..04cc41c --- /dev/null +++ b/src/services/theme/get.test.ts @@ -0,0 +1,5 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('get', () => { + test.fails('returns theme', () => { }) +}) diff --git a/src/utilities/theme.test.ts b/src/utilities/theme.test.ts new file mode 100644 index 0000000..83d3c03 --- /dev/null +++ b/src/utilities/theme.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, test, vi } from 'vitest' + +describe.skip('theme utilities', () => { + describe('pullThemeSettings', () => { + test.fails('pulls settings from live theme', () => { }) + }) + describe('push', () => { + test.fails('pushes theme files to theme', () => { }) + }) + describe('pushToLive', () => { + test.fails('pushes theme files to live theme', () => { }) + }) + describe('getThemesByIdentifier', () => { + test.fails('returns list of themes that match id or name', () => { }) + }) + describe('filterByTheme', () => { + test.fails('returns list of themes that match filter', () => { }) + }) + describe('filterArray', () => { + test.fails('returns list of themes that match predicate', () => { }) + }) +})