From f7755a0f2fe898ed08d432c5eaa1931eb9672e5c Mon Sep 17 00:00:00 2001 From: gonzaloriestra <14979109+gonzaloriestra@users.noreply.github.com> Date: Tue, 16 Jun 2026 00:28:23 +0000 Subject: [PATCH] [Tests] Remove filesystem mocks in result.test.ts Refactored packages/store/src/cli/services/store/execute/result.test.ts to use real filesystem operations in temporary directories instead of mocking @shopify/cli-kit/node/fs. - Imported inTemporaryDirectory, readFile from @shopify/cli-kit/node/fs - Imported joinPath from @shopify/cli-kit/node/path - Removed filesystem mocks - Wrapped relevant tests in inTemporaryDirectory - Replaced mock assertions with actual file content checks --- .../cli/services/store/execute/result.test.ts | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/packages/store/src/cli/services/store/execute/result.test.ts b/packages/store/src/cli/services/store/execute/result.test.ts index efc60970e66..c59484735b5 100644 --- a/packages/store/src/cli/services/store/execute/result.test.ts +++ b/packages/store/src/cli/services/store/execute/result.test.ts @@ -1,10 +1,10 @@ import {writeOrOutputStoreExecuteResult} from './result.js' import {afterEach, beforeEach, describe, expect, test, vi} from 'vitest' -import {writeFile} from '@shopify/cli-kit/node/fs' +import {inTemporaryDirectory, readFile} from '@shopify/cli-kit/node/fs' +import {joinPath} from '@shopify/cli-kit/node/path' import {renderSuccess} from '@shopify/cli-kit/node/ui' import {mockAndCaptureOutput} from '@shopify/cli-kit/node/testing/output' -vi.mock('@shopify/cli-kit/node/fs') vi.mock('@shopify/cli-kit/node/ui') function captureStandardStreams() { @@ -42,12 +42,16 @@ describe('writeOrOutputStoreExecuteResult', () => { }) test('writes results to a file when outputFile is provided', async () => { - await writeOrOutputStoreExecuteResult({data: {shop: {name: 'Test shop'}}}, '/tmp/results.json') - - expect(writeFile).toHaveBeenCalledWith('/tmp/results.json', expect.stringContaining('Test shop')) - expect(renderSuccess).toHaveBeenCalledWith({ - headline: 'Operation succeeded.', - body: 'Results written to /tmp/results.json', + await inTemporaryDirectory(async (tmpDir) => { + const outputPath = joinPath(tmpDir, 'results.json') + await writeOrOutputStoreExecuteResult({data: {shop: {name: 'Test shop'}}}, outputPath) + + const content = await readFile(outputPath) + expect(content).toContain('Test shop') + expect(renderSuccess).toHaveBeenCalledWith({ + headline: 'Operation succeeded.', + body: `Results written to ${outputPath}`, + }) }) }) @@ -86,9 +90,13 @@ describe('writeOrOutputStoreExecuteResult', () => { }) test('suppresses success rendering when writing a file in json mode', async () => { - await writeOrOutputStoreExecuteResult({data: {shop: {name: 'Test shop'}}}, '/tmp/results.json', 'json') + await inTemporaryDirectory(async (tmpDir) => { + const outputPath = joinPath(tmpDir, 'results.json') + await writeOrOutputStoreExecuteResult({data: {shop: {name: 'Test shop'}}}, outputPath, 'json') - expect(writeFile).toHaveBeenCalledWith('/tmp/results.json', expect.stringContaining('Test shop')) - expect(renderSuccess).not.toHaveBeenCalled() + const content = await readFile(outputPath) + expect(content).toContain('Test shop') + expect(renderSuccess).not.toHaveBeenCalled() + }) }) })