From 2ab83d65952945f455975fbd3d23f761895aec6a Mon Sep 17 00:00:00 2001 From: Sean Teramae Date: Fri, 12 Jun 2026 16:57:26 -0700 Subject: [PATCH 1/5] fix(studio): Align on test suffix Signed-off-by: Sean Teramae --- ...ils.test.ts => dataset-file-utils.spec.ts} | 0 .../util/{editor.test.ts => editor.spec.ts} | 0 ...el.test.tsx => ColumnFilterPanel.spec.tsx} | 0 ...mFilter.test.tsx => CustomFilter.spec.tsx} | 0 ...lter.test.tsx => DateRangeFilter.spec.tsx} | 0 ...le.test.tsx => FilterPanelToggle.spec.tsx} | 0 ...test.tsx => StudioAppliedFilters.spec.tsx} | 0 ...aView.test.tsx => StudioDataView.spec.tsx} | 0 .../Dial/{index.test.tsx => index.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 ....test.tsx => SliderWithTextInput.spec.tsx} | 0 ...tusBadge.test.tsx => StatusBadge.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 ...t.tsx => TrainingParameterSlider.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 ...amedEntity.test.ts => namedEntity.spec.ts} | 0 ...{TraceQueue.test.ts => TraceQueue.spec.ts} | 0 ...Quality.test.ts => datasetQuality.spec.ts} | 0 .../src/utils/{file.test.ts => file.spec.ts} | 0 ...idation.test.ts => fileValidation.spec.ts} | 0 ...ilesetName.test.ts => filesetName.spec.ts} | 0 ...eRange.test.ts => formatDateRange.spec.ts} | 0 .../{isDefined.test.ts => isDefined.spec.ts} | 0 web/packages/common/src/utils/search.spec.ts | 331 ++++++++++++++++-- web/packages/common/src/utils/search.test.ts | 322 ----------------- ...st.ts => useQueryFromSearchParams.spec.ts} | 0 ...ers.test.ts => githubTokenHeaders.spec.ts} | 0 ....test.ts => operationNameOverride.spec.ts} | 0 ...els.test.tsx => SearchBaseModels.spec.tsx} | 0 ...ilUtils.test.ts => guardrailUtils.spec.ts} | 0 ...Modal.test.tsx => DeleteJobModal.spec.tsx} | 0 .../{utils.test.ts => utils.spec.ts} | 0 .../{utils.test.ts => utils.spec.ts} | 0 .../{util.test.ts => util.spec.ts} | 0 .../{utils.test.ts => utils.spec.ts} | 0 ...s.test.tsx => AdvancedParameters.spec.tsx} | 0 .../{index.test.tsx => index.spec.tsx} | 0 ...rt.test.ts => tablePaginationSort.spec.ts} | 0 42 files changed, 304 insertions(+), 349 deletions(-) rename web/packages/common/src/LabsPOC/{dataset-file-utils.test.ts => dataset-file-utils.spec.ts} (100%) rename web/packages/common/src/components/CodeEditor/util/{editor.test.ts => editor.spec.ts} (100%) rename web/packages/common/src/components/DataView/{ColumnFilterPanel.test.tsx => ColumnFilterPanel.spec.tsx} (100%) rename web/packages/common/src/components/DataView/FilterPanel/{CustomFilter.test.tsx => CustomFilter.spec.tsx} (100%) rename web/packages/common/src/components/DataView/FilterPanel/{DateRangeFilter.test.tsx => DateRangeFilter.spec.tsx} (100%) rename web/packages/common/src/components/DataView/{FilterPanelToggle.test.tsx => FilterPanelToggle.spec.tsx} (100%) rename web/packages/common/src/components/DataView/{StudioAppliedFilters.test.tsx => StudioAppliedFilters.spec.tsx} (100%) rename web/packages/common/src/components/DataView/{StudioDataView.test.tsx => StudioDataView.spec.tsx} (100%) rename web/packages/common/src/components/Dial/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/components/RelativeTime/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/components/ScrollTable/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/components/SliderWithTextInput/{SliderWithTextInput.test.tsx => SliderWithTextInput.spec.tsx} (100%) rename web/packages/common/src/components/StatusBadge/{StatusBadge.test.tsx => StatusBadge.spec.tsx} (100%) rename web/packages/common/src/components/TableHeaderButton/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/components/TagOverflowGroup/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/components/TrainingParameterSlider/{TrainingParameterSlider.test.tsx => TrainingParameterSlider.spec.tsx} (100%) rename web/packages/common/src/hooks/useQueryParams/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/hooks/useStudioDataViewState/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/hooks/useTableFilters/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/common/src/{namedEntity.test.ts => namedEntity.spec.ts} (100%) rename web/packages/common/src/utils/{TraceQueue.test.ts => TraceQueue.spec.ts} (100%) rename web/packages/common/src/utils/{datasetQuality.test.ts => datasetQuality.spec.ts} (100%) rename web/packages/common/src/utils/{file.test.ts => file.spec.ts} (100%) rename web/packages/common/src/utils/{fileValidation.test.ts => fileValidation.spec.ts} (100%) rename web/packages/common/src/utils/{filesetName.test.ts => filesetName.spec.ts} (100%) rename web/packages/common/src/utils/{formatDateRange.test.ts => formatDateRange.spec.ts} (100%) rename web/packages/common/src/utils/{isDefined.test.ts => isDefined.spec.ts} (100%) delete mode 100644 web/packages/common/src/utils/search.test.ts rename web/packages/common/src/utils/{useQueryFromSearchParams.test.ts => useQueryFromSearchParams.spec.ts} (100%) rename web/packages/sdk/orval/{githubTokenHeaders.test.ts => githubTokenHeaders.spec.ts} (100%) rename web/packages/sdk/orval/{operationNameOverride.test.ts => operationNameOverride.spec.ts} (100%) rename web/packages/studio/src/components/FilterFields/{SearchBaseModels.test.tsx => SearchBaseModels.spec.tsx} (100%) rename web/packages/studio/src/components/dataViews/GuardrailsDataView/{guardrailUtils.test.ts => guardrailUtils.spec.ts} (100%) rename web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/{DeleteJobModal.test.tsx => DeleteJobModal.spec.tsx} (100%) rename web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/{utils.test.ts => utils.spec.ts} (100%) rename web/packages/studio/src/constants/featureFlags/{utils.test.ts => utils.spec.ts} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/{util.test.ts => util.spec.ts} (100%) rename web/packages/studio/src/routes/SafeSynthesizerListRoute/{utils.test.ts => utils.spec.ts} (100%) rename web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/{AdvancedParameters.test.tsx => AdvancedParameters.spec.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerNewRoute/{index.test.tsx => index.spec.tsx} (100%) rename web/packages/studio/src/util/__tests__/{tablePaginationSort.test.ts => tablePaginationSort.spec.ts} (100%) diff --git a/web/packages/common/src/LabsPOC/dataset-file-utils.test.ts b/web/packages/common/src/LabsPOC/dataset-file-utils.spec.ts similarity index 100% rename from web/packages/common/src/LabsPOC/dataset-file-utils.test.ts rename to web/packages/common/src/LabsPOC/dataset-file-utils.spec.ts diff --git a/web/packages/common/src/components/CodeEditor/util/editor.test.ts b/web/packages/common/src/components/CodeEditor/util/editor.spec.ts similarity index 100% rename from web/packages/common/src/components/CodeEditor/util/editor.test.ts rename to web/packages/common/src/components/CodeEditor/util/editor.spec.ts diff --git a/web/packages/common/src/components/DataView/ColumnFilterPanel.test.tsx b/web/packages/common/src/components/DataView/ColumnFilterPanel.spec.tsx similarity index 100% rename from web/packages/common/src/components/DataView/ColumnFilterPanel.test.tsx rename to web/packages/common/src/components/DataView/ColumnFilterPanel.spec.tsx diff --git a/web/packages/common/src/components/DataView/FilterPanel/CustomFilter.test.tsx b/web/packages/common/src/components/DataView/FilterPanel/CustomFilter.spec.tsx similarity index 100% rename from web/packages/common/src/components/DataView/FilterPanel/CustomFilter.test.tsx rename to web/packages/common/src/components/DataView/FilterPanel/CustomFilter.spec.tsx diff --git a/web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.test.tsx b/web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.spec.tsx similarity index 100% rename from web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.test.tsx rename to web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.spec.tsx diff --git a/web/packages/common/src/components/DataView/FilterPanelToggle.test.tsx b/web/packages/common/src/components/DataView/FilterPanelToggle.spec.tsx similarity index 100% rename from web/packages/common/src/components/DataView/FilterPanelToggle.test.tsx rename to web/packages/common/src/components/DataView/FilterPanelToggle.spec.tsx diff --git a/web/packages/common/src/components/DataView/StudioAppliedFilters.test.tsx b/web/packages/common/src/components/DataView/StudioAppliedFilters.spec.tsx similarity index 100% rename from web/packages/common/src/components/DataView/StudioAppliedFilters.test.tsx rename to web/packages/common/src/components/DataView/StudioAppliedFilters.spec.tsx diff --git a/web/packages/common/src/components/DataView/StudioDataView.test.tsx b/web/packages/common/src/components/DataView/StudioDataView.spec.tsx similarity index 100% rename from web/packages/common/src/components/DataView/StudioDataView.test.tsx rename to web/packages/common/src/components/DataView/StudioDataView.spec.tsx diff --git a/web/packages/common/src/components/Dial/index.test.tsx b/web/packages/common/src/components/Dial/index.spec.tsx similarity index 100% rename from web/packages/common/src/components/Dial/index.test.tsx rename to web/packages/common/src/components/Dial/index.spec.tsx diff --git a/web/packages/common/src/components/RelativeTime/index.test.tsx b/web/packages/common/src/components/RelativeTime/index.spec.tsx similarity index 100% rename from web/packages/common/src/components/RelativeTime/index.test.tsx rename to web/packages/common/src/components/RelativeTime/index.spec.tsx diff --git a/web/packages/common/src/components/ScrollTable/index.test.tsx b/web/packages/common/src/components/ScrollTable/index.spec.tsx similarity index 100% rename from web/packages/common/src/components/ScrollTable/index.test.tsx rename to web/packages/common/src/components/ScrollTable/index.spec.tsx diff --git a/web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.test.tsx b/web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.spec.tsx similarity index 100% rename from web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.test.tsx rename to web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.spec.tsx diff --git a/web/packages/common/src/components/StatusBadge/StatusBadge.test.tsx b/web/packages/common/src/components/StatusBadge/StatusBadge.spec.tsx similarity index 100% rename from web/packages/common/src/components/StatusBadge/StatusBadge.test.tsx rename to web/packages/common/src/components/StatusBadge/StatusBadge.spec.tsx diff --git a/web/packages/common/src/components/TableHeaderButton/index.test.tsx b/web/packages/common/src/components/TableHeaderButton/index.spec.tsx similarity index 100% rename from web/packages/common/src/components/TableHeaderButton/index.test.tsx rename to web/packages/common/src/components/TableHeaderButton/index.spec.tsx diff --git a/web/packages/common/src/components/TagOverflowGroup/index.test.tsx b/web/packages/common/src/components/TagOverflowGroup/index.spec.tsx similarity index 100% rename from web/packages/common/src/components/TagOverflowGroup/index.test.tsx rename to web/packages/common/src/components/TagOverflowGroup/index.spec.tsx diff --git a/web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.test.tsx b/web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.spec.tsx similarity index 100% rename from web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.test.tsx rename to web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.spec.tsx diff --git a/web/packages/common/src/hooks/useQueryParams/index.test.tsx b/web/packages/common/src/hooks/useQueryParams/index.spec.tsx similarity index 100% rename from web/packages/common/src/hooks/useQueryParams/index.test.tsx rename to web/packages/common/src/hooks/useQueryParams/index.spec.tsx diff --git a/web/packages/common/src/hooks/useStudioDataViewState/index.test.tsx b/web/packages/common/src/hooks/useStudioDataViewState/index.spec.tsx similarity index 100% rename from web/packages/common/src/hooks/useStudioDataViewState/index.test.tsx rename to web/packages/common/src/hooks/useStudioDataViewState/index.spec.tsx diff --git a/web/packages/common/src/hooks/useTableFilters/index.test.tsx b/web/packages/common/src/hooks/useTableFilters/index.spec.tsx similarity index 100% rename from web/packages/common/src/hooks/useTableFilters/index.test.tsx rename to web/packages/common/src/hooks/useTableFilters/index.spec.tsx diff --git a/web/packages/common/src/namedEntity.test.ts b/web/packages/common/src/namedEntity.spec.ts similarity index 100% rename from web/packages/common/src/namedEntity.test.ts rename to web/packages/common/src/namedEntity.spec.ts diff --git a/web/packages/common/src/utils/TraceQueue.test.ts b/web/packages/common/src/utils/TraceQueue.spec.ts similarity index 100% rename from web/packages/common/src/utils/TraceQueue.test.ts rename to web/packages/common/src/utils/TraceQueue.spec.ts diff --git a/web/packages/common/src/utils/datasetQuality.test.ts b/web/packages/common/src/utils/datasetQuality.spec.ts similarity index 100% rename from web/packages/common/src/utils/datasetQuality.test.ts rename to web/packages/common/src/utils/datasetQuality.spec.ts diff --git a/web/packages/common/src/utils/file.test.ts b/web/packages/common/src/utils/file.spec.ts similarity index 100% rename from web/packages/common/src/utils/file.test.ts rename to web/packages/common/src/utils/file.spec.ts diff --git a/web/packages/common/src/utils/fileValidation.test.ts b/web/packages/common/src/utils/fileValidation.spec.ts similarity index 100% rename from web/packages/common/src/utils/fileValidation.test.ts rename to web/packages/common/src/utils/fileValidation.spec.ts diff --git a/web/packages/common/src/utils/filesetName.test.ts b/web/packages/common/src/utils/filesetName.spec.ts similarity index 100% rename from web/packages/common/src/utils/filesetName.test.ts rename to web/packages/common/src/utils/filesetName.spec.ts diff --git a/web/packages/common/src/utils/formatDateRange.test.ts b/web/packages/common/src/utils/formatDateRange.spec.ts similarity index 100% rename from web/packages/common/src/utils/formatDateRange.test.ts rename to web/packages/common/src/utils/formatDateRange.spec.ts diff --git a/web/packages/common/src/utils/isDefined.test.ts b/web/packages/common/src/utils/isDefined.spec.ts similarity index 100% rename from web/packages/common/src/utils/isDefined.test.ts rename to web/packages/common/src/utils/isDefined.spec.ts diff --git a/web/packages/common/src/utils/search.spec.ts b/web/packages/common/src/utils/search.spec.ts index ee2ae01eb8..e6dc82010b 100644 --- a/web/packages/common/src/utils/search.spec.ts +++ b/web/packages/common/src/utils/search.spec.ts @@ -1,45 +1,322 @@ // SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -import { mergeURLSearchParams } from './search'; +import { buildApiSearchParam, convertQueryToList, mergeURLSearchParams } from './search'; -describe('search utils', () => { +describe('buildApiSearchParam', () => { + it('returns undefined for undefined input', () => { + expect(buildApiSearchParam(undefined)).toBeUndefined(); + }); + + it('returns undefined when no filterable values are present', () => { + expect(buildApiSearchParam({})).toBeUndefined(); + }); + + it('wraps string values with $like', () => { + expect(buildApiSearchParam({ name: 'foo' })).toBe('{"name":{"$like":"foo"}}'); + }); + + it('converts a full date range to $gte / $lte', () => { + expect(buildApiSearchParam({ created_at: { start: '2024-01-01', end: '2024-12-31' } })).toBe( + '{"created_at":{"$gte":"2024-01-01","$lte":"2024-12-31"}}' + ); + }); + + it('omits $lte when end is absent', () => { + expect(buildApiSearchParam({ created_at: { start: '2024-01-01' } })).toBe( + '{"created_at":{"$gte":"2024-01-01"}}' + ); + }); + + it('omits $gte when start is absent', () => { + expect(buildApiSearchParam({ created_at: { end: '2024-12-31' } })).toBe( + '{"created_at":{"$lte":"2024-12-31"}}' + ); + }); + + it('omits a date range field when both start and end are absent', () => { + expect(buildApiSearchParam({ created_at: {} })).toBeUndefined(); + }); + + it('combines string and date range fields', () => { + const result = buildApiSearchParam({ + name: 'test', + created_at: { start: '2024-01-01', end: '2024-12-31' }, + }); + expect(result).toBe( + '{"name":{"$like":"test"},"created_at":{"$gte":"2024-01-01","$lte":"2024-12-31"}}' + ); + }); +}); + +describe('search utilities', () => { describe('mergeURLSearchParams', () => { - it('correctly merges search params', () => { - const a = new URLSearchParams({ param1: '1' }); - const b = { param2: '2' }; + it('should merge override values into base URLSearchParams', () => { + const base = new URLSearchParams('?page=1&size=10'); + const overrides = { page: 2, filter: 'active' }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('2'); + expect(result.get('size')).toBe('10'); + expect(result.get('filter')).toBe('active'); + }); + + it('should add new parameters from overrides', () => { + const base = new URLSearchParams('?page=1'); + const overrides = { size: 20, sort: 'name' }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('1'); + expect(result.get('size')).toBe('20'); + expect(result.get('sort')).toBe('name'); + }); + + it('should delete parameters when override value is undefined', () => { + const base = new URLSearchParams('?page=1&size=10&filter=active'); + const overrides = { filter: undefined }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('1'); + expect(result.get('size')).toBe('10'); + expect(result.has('filter')).toBe(false); + }); + + it('should delete parameters when override value is empty string', () => { + const base = new URLSearchParams('?page=1&size=10&filter=active'); + const overrides = { filter: '' }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('1'); + expect(result.get('size')).toBe('10'); + expect(result.has('filter')).toBe(false); + }); + + it('should handle numeric values by converting to string', () => { + const base = new URLSearchParams(); + const overrides = { page: 5, size: 100 }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('5'); + expect(result.get('size')).toBe('100'); + }); + + it('should not delete parameters that do not exist in base when override is undefined', () => { + const base = new URLSearchParams('?page=1'); + const overrides = { nonexistent: undefined }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('1'); + expect(result.has('nonexistent')).toBe(false); + }); + + it('should handle empty base URLSearchParams', () => { + const base = new URLSearchParams(); + const overrides = { page: 1, filter: 'test' }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('1'); + expect(result.get('filter')).toBe('test'); + }); + + it('should handle empty overrides object', () => { + const base = new URLSearchParams('?page=1&size=10'); + const overrides = {}; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('1'); + expect(result.get('size')).toBe('10'); + }); + + it('should not modify the original base URLSearchParams', () => { + const base = new URLSearchParams('?page=1'); + const overrides = { page: 2 }; + + mergeURLSearchParams(base, overrides); + + expect(base.get('page')).toBe('1'); // Original should be unchanged + }); + + it('should handle zero values correctly', () => { + const base = new URLSearchParams('?page=1'); + const overrides = { page: 0, size: 0 }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('page')).toBe('0'); + expect(result.get('size')).toBe('0'); + }); + + it('should handle boolean-like string values', () => { + const base = new URLSearchParams(); + const overrides = { active: 'true', visible: 'false' }; + + const result = mergeURLSearchParams(base, overrides); + + expect(result.get('active')).toBe('true'); + expect(result.get('visible')).toBe('false'); + }); + }); + + describe('convertQueryToList', () => { + it('should convert simple key-value pairs to list format', () => { + const query = { page: 1, size: 10, filter: 'active' }; + + const result = convertQueryToList(query); + + expect(result).toEqual(['page=1', 'size=10', 'filter=active']); + }); + + it('should handle undefined query by returning empty array', () => { + const result = convertQueryToList(undefined); + + expect(result).toEqual([]); + }); + + it('should handle null query by returning empty array', () => { + const result = convertQueryToList(); + + expect(result).toEqual([]); + }); + + it('should handle empty object by returning empty array', () => { + const query = {}; + + const result = convertQueryToList(query); + + expect(result).toEqual([]); + }); + + it('should stringify object values', () => { + const query = { + filters: { status: 'active', type: 'user' }, + options: ['a', 'b', 'c'], + }; + + const result = convertQueryToList(query); + + expect(result).toEqual([ + 'filters={"status":"active","type":"user"}', + 'options=["a","b","c"]', + ]); + }); + + it('should handle null values by converting to empty string', () => { + const query = { page: 1, filter: null }; + + const result = convertQueryToList(query); + + expect(result).toEqual(['page=1', 'filter=']); + }); + + it('should handle undefined values by converting to empty string', () => { + const query = { page: 1, filter: undefined }; + + const result = convertQueryToList(query); + + expect(result).toEqual(['page=1', 'filter=']); + }); + + it('should handle boolean values', () => { + const query = { active: true, visible: false }; + + const result = convertQueryToList(query); + + expect(result).toEqual(['active=true', 'visible=false']); + }); + + it('should handle numeric values', () => { + const query = { page: 1, size: 10, rating: 4.5 }; + + const result = convertQueryToList(query); + + expect(result).toEqual(['page=1', 'size=10', 'rating=4.5']); + }); + + it('should handle string values', () => { + const query = { search: 'hello world', category: 'tech' }; + + const result = convertQueryToList(query); + + expect(result).toEqual(['search=hello world', 'category=tech']); + }); + + it('should handle mixed value types', () => { + const query = { + page: 1, + active: true, + filter: null, + search: 'test', + config: { theme: 'dark' }, + }; + + const result = convertQueryToList(query); + + expect(result).toEqual([ + 'page=1', + 'active=true', + 'filter=', + 'search=test', + 'config={"theme":"dark"}', + ]); + }); + + it('should handle nested objects correctly', () => { + const query = { + user: { + name: 'John', + preferences: { + theme: 'dark', + language: 'en', + }, + }, + }; + + const result = convertQueryToList(query); + + expect(result).toEqual([ + 'user={"name":"John","preferences":{"theme":"dark","language":"en"}}', + ]); + }); + + it('should handle arrays of different types', () => { + const query = { + numbers: [1, 2, 3], + strings: ['a', 'b', 'c'], + mixed: [1, 'two', true, null], + }; - const mergedURLSearchParams = mergeURLSearchParams(a, b); + const result = convertQueryToList(query); - expect(Object.fromEntries(mergedURLSearchParams.entries())).toEqual({ - param1: '1', - param2: '2', - }); + expect(result).toEqual([ + 'numbers=[1,2,3]', + 'strings=["a","b","c"]', + 'mixed=[1,"two",true,null]', + ]); }); - it('correctly uses the value from b when a property exists in both a and b', () => { - const a = new URLSearchParams({ param1: '1', param2: '2' }); - const b = { param2: 'overwritten', param3: '3' }; + it('should handle zero and empty string values', () => { + const query = { count: 0, message: '' }; - const mergedURLSearchParams = mergeURLSearchParams(a, b); + const result = convertQueryToList(query); - expect(Object.fromEntries(mergedURLSearchParams.entries())).toEqual({ - param1: '1', - param2: 'overwritten', - param3: '3', - }); + expect(result).toEqual(['count=0', 'message=']); }); - it('correctly uses `undefined` values in b to delete from a', () => { - const a = new URLSearchParams({ param1: '1', param2: '2' }); - const b = { param2: undefined, param3: '3' }; + it('should preserve order of object keys', () => { + const query = { z: 1, a: 2, m: 3 }; - const mergedURLSearchParams = mergeURLSearchParams(a, b); + const result = convertQueryToList(query); - expect(Object.fromEntries(mergedURLSearchParams.entries())).toEqual({ - param1: '1', - param3: '3', - }); + // Object.entries preserves insertion order in modern JavaScript + expect(result).toEqual(['z=1', 'a=2', 'm=3']); }); }); }); diff --git a/web/packages/common/src/utils/search.test.ts b/web/packages/common/src/utils/search.test.ts deleted file mode 100644 index e6dc82010b..0000000000 --- a/web/packages/common/src/utils/search.test.ts +++ /dev/null @@ -1,322 +0,0 @@ -// SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 - -import { buildApiSearchParam, convertQueryToList, mergeURLSearchParams } from './search'; - -describe('buildApiSearchParam', () => { - it('returns undefined for undefined input', () => { - expect(buildApiSearchParam(undefined)).toBeUndefined(); - }); - - it('returns undefined when no filterable values are present', () => { - expect(buildApiSearchParam({})).toBeUndefined(); - }); - - it('wraps string values with $like', () => { - expect(buildApiSearchParam({ name: 'foo' })).toBe('{"name":{"$like":"foo"}}'); - }); - - it('converts a full date range to $gte / $lte', () => { - expect(buildApiSearchParam({ created_at: { start: '2024-01-01', end: '2024-12-31' } })).toBe( - '{"created_at":{"$gte":"2024-01-01","$lte":"2024-12-31"}}' - ); - }); - - it('omits $lte when end is absent', () => { - expect(buildApiSearchParam({ created_at: { start: '2024-01-01' } })).toBe( - '{"created_at":{"$gte":"2024-01-01"}}' - ); - }); - - it('omits $gte when start is absent', () => { - expect(buildApiSearchParam({ created_at: { end: '2024-12-31' } })).toBe( - '{"created_at":{"$lte":"2024-12-31"}}' - ); - }); - - it('omits a date range field when both start and end are absent', () => { - expect(buildApiSearchParam({ created_at: {} })).toBeUndefined(); - }); - - it('combines string and date range fields', () => { - const result = buildApiSearchParam({ - name: 'test', - created_at: { start: '2024-01-01', end: '2024-12-31' }, - }); - expect(result).toBe( - '{"name":{"$like":"test"},"created_at":{"$gte":"2024-01-01","$lte":"2024-12-31"}}' - ); - }); -}); - -describe('search utilities', () => { - describe('mergeURLSearchParams', () => { - it('should merge override values into base URLSearchParams', () => { - const base = new URLSearchParams('?page=1&size=10'); - const overrides = { page: 2, filter: 'active' }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('2'); - expect(result.get('size')).toBe('10'); - expect(result.get('filter')).toBe('active'); - }); - - it('should add new parameters from overrides', () => { - const base = new URLSearchParams('?page=1'); - const overrides = { size: 20, sort: 'name' }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('1'); - expect(result.get('size')).toBe('20'); - expect(result.get('sort')).toBe('name'); - }); - - it('should delete parameters when override value is undefined', () => { - const base = new URLSearchParams('?page=1&size=10&filter=active'); - const overrides = { filter: undefined }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('1'); - expect(result.get('size')).toBe('10'); - expect(result.has('filter')).toBe(false); - }); - - it('should delete parameters when override value is empty string', () => { - const base = new URLSearchParams('?page=1&size=10&filter=active'); - const overrides = { filter: '' }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('1'); - expect(result.get('size')).toBe('10'); - expect(result.has('filter')).toBe(false); - }); - - it('should handle numeric values by converting to string', () => { - const base = new URLSearchParams(); - const overrides = { page: 5, size: 100 }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('5'); - expect(result.get('size')).toBe('100'); - }); - - it('should not delete parameters that do not exist in base when override is undefined', () => { - const base = new URLSearchParams('?page=1'); - const overrides = { nonexistent: undefined }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('1'); - expect(result.has('nonexistent')).toBe(false); - }); - - it('should handle empty base URLSearchParams', () => { - const base = new URLSearchParams(); - const overrides = { page: 1, filter: 'test' }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('1'); - expect(result.get('filter')).toBe('test'); - }); - - it('should handle empty overrides object', () => { - const base = new URLSearchParams('?page=1&size=10'); - const overrides = {}; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('1'); - expect(result.get('size')).toBe('10'); - }); - - it('should not modify the original base URLSearchParams', () => { - const base = new URLSearchParams('?page=1'); - const overrides = { page: 2 }; - - mergeURLSearchParams(base, overrides); - - expect(base.get('page')).toBe('1'); // Original should be unchanged - }); - - it('should handle zero values correctly', () => { - const base = new URLSearchParams('?page=1'); - const overrides = { page: 0, size: 0 }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('page')).toBe('0'); - expect(result.get('size')).toBe('0'); - }); - - it('should handle boolean-like string values', () => { - const base = new URLSearchParams(); - const overrides = { active: 'true', visible: 'false' }; - - const result = mergeURLSearchParams(base, overrides); - - expect(result.get('active')).toBe('true'); - expect(result.get('visible')).toBe('false'); - }); - }); - - describe('convertQueryToList', () => { - it('should convert simple key-value pairs to list format', () => { - const query = { page: 1, size: 10, filter: 'active' }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['page=1', 'size=10', 'filter=active']); - }); - - it('should handle undefined query by returning empty array', () => { - const result = convertQueryToList(undefined); - - expect(result).toEqual([]); - }); - - it('should handle null query by returning empty array', () => { - const result = convertQueryToList(); - - expect(result).toEqual([]); - }); - - it('should handle empty object by returning empty array', () => { - const query = {}; - - const result = convertQueryToList(query); - - expect(result).toEqual([]); - }); - - it('should stringify object values', () => { - const query = { - filters: { status: 'active', type: 'user' }, - options: ['a', 'b', 'c'], - }; - - const result = convertQueryToList(query); - - expect(result).toEqual([ - 'filters={"status":"active","type":"user"}', - 'options=["a","b","c"]', - ]); - }); - - it('should handle null values by converting to empty string', () => { - const query = { page: 1, filter: null }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['page=1', 'filter=']); - }); - - it('should handle undefined values by converting to empty string', () => { - const query = { page: 1, filter: undefined }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['page=1', 'filter=']); - }); - - it('should handle boolean values', () => { - const query = { active: true, visible: false }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['active=true', 'visible=false']); - }); - - it('should handle numeric values', () => { - const query = { page: 1, size: 10, rating: 4.5 }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['page=1', 'size=10', 'rating=4.5']); - }); - - it('should handle string values', () => { - const query = { search: 'hello world', category: 'tech' }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['search=hello world', 'category=tech']); - }); - - it('should handle mixed value types', () => { - const query = { - page: 1, - active: true, - filter: null, - search: 'test', - config: { theme: 'dark' }, - }; - - const result = convertQueryToList(query); - - expect(result).toEqual([ - 'page=1', - 'active=true', - 'filter=', - 'search=test', - 'config={"theme":"dark"}', - ]); - }); - - it('should handle nested objects correctly', () => { - const query = { - user: { - name: 'John', - preferences: { - theme: 'dark', - language: 'en', - }, - }, - }; - - const result = convertQueryToList(query); - - expect(result).toEqual([ - 'user={"name":"John","preferences":{"theme":"dark","language":"en"}}', - ]); - }); - - it('should handle arrays of different types', () => { - const query = { - numbers: [1, 2, 3], - strings: ['a', 'b', 'c'], - mixed: [1, 'two', true, null], - }; - - const result = convertQueryToList(query); - - expect(result).toEqual([ - 'numbers=[1,2,3]', - 'strings=["a","b","c"]', - 'mixed=[1,"two",true,null]', - ]); - }); - - it('should handle zero and empty string values', () => { - const query = { count: 0, message: '' }; - - const result = convertQueryToList(query); - - expect(result).toEqual(['count=0', 'message=']); - }); - - it('should preserve order of object keys', () => { - const query = { z: 1, a: 2, m: 3 }; - - const result = convertQueryToList(query); - - // Object.entries preserves insertion order in modern JavaScript - expect(result).toEqual(['z=1', 'a=2', 'm=3']); - }); - }); -}); diff --git a/web/packages/common/src/utils/useQueryFromSearchParams.test.ts b/web/packages/common/src/utils/useQueryFromSearchParams.spec.ts similarity index 100% rename from web/packages/common/src/utils/useQueryFromSearchParams.test.ts rename to web/packages/common/src/utils/useQueryFromSearchParams.spec.ts diff --git a/web/packages/sdk/orval/githubTokenHeaders.test.ts b/web/packages/sdk/orval/githubTokenHeaders.spec.ts similarity index 100% rename from web/packages/sdk/orval/githubTokenHeaders.test.ts rename to web/packages/sdk/orval/githubTokenHeaders.spec.ts diff --git a/web/packages/sdk/orval/operationNameOverride.test.ts b/web/packages/sdk/orval/operationNameOverride.spec.ts similarity index 100% rename from web/packages/sdk/orval/operationNameOverride.test.ts rename to web/packages/sdk/orval/operationNameOverride.spec.ts diff --git a/web/packages/studio/src/components/FilterFields/SearchBaseModels.test.tsx b/web/packages/studio/src/components/FilterFields/SearchBaseModels.spec.tsx similarity index 100% rename from web/packages/studio/src/components/FilterFields/SearchBaseModels.test.tsx rename to web/packages/studio/src/components/FilterFields/SearchBaseModels.spec.tsx diff --git a/web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.test.ts b/web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.spec.ts similarity index 100% rename from web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.test.ts rename to web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.spec.ts diff --git a/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.test.tsx b/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.spec.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.test.tsx rename to web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.spec.tsx diff --git a/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.test.ts b/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.spec.ts similarity index 100% rename from web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.test.ts rename to web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.spec.ts diff --git a/web/packages/studio/src/constants/featureFlags/utils.test.ts b/web/packages/studio/src/constants/featureFlags/utils.spec.ts similarity index 100% rename from web/packages/studio/src/constants/featureFlags/utils.test.ts rename to web/packages/studio/src/constants/featureFlags/utils.spec.ts diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.test.ts b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.spec.ts similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.test.ts rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.spec.ts diff --git a/web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.test.ts b/web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.spec.ts similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.test.ts rename to web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.spec.ts diff --git a/web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.test.tsx b/web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.spec.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.test.tsx rename to web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.spec.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.test.tsx b/web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.spec.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.test.tsx rename to web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.spec.tsx diff --git a/web/packages/studio/src/util/__tests__/tablePaginationSort.test.ts b/web/packages/studio/src/util/__tests__/tablePaginationSort.spec.ts similarity index 100% rename from web/packages/studio/src/util/__tests__/tablePaginationSort.test.ts rename to web/packages/studio/src/util/__tests__/tablePaginationSort.spec.ts From f9fa60b32001ea250778adea6a127e8b430738bb Mon Sep 17 00:00:00 2001 From: Sean Teramae Date: Fri, 12 Jun 2026 16:58:18 -0700 Subject: [PATCH 2/5] minor misc fixes Signed-off-by: Sean Teramae --- web/.agents/skills/test-coverage-improvement/SKILL.md | 2 +- web/packages/common/src/utils/codeSnippet.spec.ts | 2 +- web/packages/studio/src/util/files.spec.ts | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/web/.agents/skills/test-coverage-improvement/SKILL.md b/web/.agents/skills/test-coverage-improvement/SKILL.md index 7addb65b74..f08f30a3ba 100644 --- a/web/.agents/skills/test-coverage-improvement/SKILL.md +++ b/web/.agents/skills/test-coverage-improvement/SKILL.md @@ -46,7 +46,7 @@ Combine **`coverage-final.json`** with judgment—**do not** use only the bottom - Sort by low **`lines.pct`** / **`statements.pct`** among included source files. - **Prefer:** logic-heavy modules, hooks, API glue, non-trivial components, error paths. - **Skip or defer:** thin re-exports, empty barrels, generated-only files, trivial constants (unless user asked otherwise). -- **Exclude:** `*.spec.*`, `*.test.*`, `e2e-tests/**`, `node_modules/**`, outside **`coverage.include`**. +- **Exclude:** `*.spec.*`, `e2e-tests/**`, `node_modules/**`, outside **`coverage.include`**. Output a **numbered list** (path, %, one-line rationale). **Do not wait for approval** unless the user explicitly asked to confirm the list; proceed to the loop. diff --git a/web/packages/common/src/utils/codeSnippet.spec.ts b/web/packages/common/src/utils/codeSnippet.spec.ts index c58b36178d..80922b6081 100644 --- a/web/packages/common/src/utils/codeSnippet.spec.ts +++ b/web/packages/common/src/utils/codeSnippet.spec.ts @@ -84,7 +84,7 @@ describe('getLanguageFromFilePath', () => { }); it('handles files with multiple dots', () => { - expect(getLanguageFromFilePath('file.test.ts')).toBe('typescript'); + expect(getLanguageFromFilePath('file.spec.ts')).toBe('typescript'); expect(getLanguageFromFilePath('config.prod.json')).toBe('json'); }); diff --git a/web/packages/studio/src/util/files.spec.ts b/web/packages/studio/src/util/files.spec.ts index 346a9ce2cd..08bc34ac32 100644 --- a/web/packages/studio/src/util/files.spec.ts +++ b/web/packages/studio/src/util/files.spec.ts @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -// utils.test.ts import { ContentType } from '@nemo/common/src/components/CodeEditor/constants'; import { collectFolderPathsFromDatasetFiles, From 15613d5233d895404007d51bdc4adaad5c2a0edd Mon Sep 17 00:00:00 2001 From: Sean Teramae Date: Fri, 12 Jun 2026 17:04:41 -0700 Subject: [PATCH 3/5] flip flop Signed-off-by: Sean Teramae --- web/.agents/skills/test-coverage-improvement/SKILL.md | 10 +++++----- web/.agents/skills/unit-test/SKILL.md | 4 ++-- web/AGENTS.md | 2 +- web/README.md | 4 ++-- web/packages/common/src/utils/codeSnippet.spec.ts | 2 +- web/packages/studio/e2e-tests/customization.spec.ts | 6 +++--- web/packages/studio/e2e-tests/evaluation.spec.ts | 4 ++-- .../studio/e2e-tests/projects/datasets.spec.ts | 4 ++-- .../studio/e2e-tests/projects/model-inference.spec.ts | 2 +- web/packages/studio/e2e-tests/projects/model.spec.ts | 2 +- web/packages/studio/e2e-tests/projects/project.spec.ts | 4 ++-- web/packages/studio/e2e-tests/safeSynthesizer.spec.ts | 4 ++-- .../src/api/common/{utils.spec.ts => utils.test.ts} | 0 ...leContent.spec.ts => useDatasetFileContent.test.ts} | 0 ...trics.spec.ts => useEvaluationsWithMetrics.test.ts} | 0 .../api/evaluation/{utils.spec.ts => utils.test.ts} | 0 .../AccessibleTitle/{index.spec.tsx => index.test.tsx} | 0 .../{BaseModelCard.spec.tsx => BaseModelCard.test.tsx} | 0 .../CancelJobButton/{index.spec.tsx => index.test.tsx} | 0 .../CopyButton/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...> DatasetFileManagementSidePanelContainer.test.tsx} | 0 ...e.spec.ts => useDatasetFileManagementState.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../DatasetInfoModal/{util.spec.ts => util.test.ts} | 0 ...setInputFile.spec.tsx => DatasetInputFile.test.tsx} | 0 .../DatasetsTable/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../DetailRow/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../ErrorPanel/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...chBaseModels.spec.tsx => SearchBaseModels.test.tsx} | 0 .../{validation.spec.ts => validation.test.ts} | 0 .../InfiniteScroll/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../ErrorBoundary/{index.spec.tsx => index.test.tsx} | 0 .../GlobalNav/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../NotFound/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../ModelChat/{index.spec.tsx => index.test.tsx} | 0 ...ModelChatPanel.spec.tsx => ModelChatPanel.test.tsx} | 0 .../{FormSection.spec.tsx => FormSection.test.tsx} | 0 ...Section.spec.tsx => ModelSelectionSection.test.tsx} | 0 ...fficiency.spec.tsx => ParameterEfficiency.test.tsx} | 0 ...odSelect.spec.tsx => TrainingMethodSelect.test.tsx} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{previewApi.spec.ts => previewApi.test.ts} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...ubmitICLsFile.spec.ts => useSubmitICLsFile.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...tadataPanel.spec.tsx => ToolMetadataPanel.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...ewLink.spec.tsx => FilesetFilePreviewLink.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 2 +- .../{util.spec.ts => util.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../UserPopover/{index.spec.tsx => index.test.tsx} | 0 .../ValueWithLabel/{index.spec.tsx => index.test.tsx} | 0 ...Input.spec.tsx => EvalConfigBlockingInput.test.tsx} | 0 ...nput.spec.tsx => ModelSelectBlockingInput.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../FilterToolbar/{index.spec.tsx => index.test.tsx} | 0 .../SearchBar/{index.spec.tsx => index.test.tsx} | 0 ...toSplitNotice.spec.tsx => AutoSplitNotice.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...uteResources.spec.tsx => ComputeResources.test.tsx} | 0 .../{DpoParameters.spec.tsx => DpoParameters.test.tsx} | 0 ...lParameters.spec.tsx => GeneralParameters.test.tsx} | 0 ...LoraParameters.spec.tsx => LoraParameters.test.tsx} | 0 .../AgentsDataView/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...lsDataView.spec.tsx => GuardrailsDataView.test.tsx} | 0 .../{guardrailUtils.spec.ts => guardrailUtils.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../JobsDataView/{index.spec.tsx => index.test.tsx} | 0 ...DeleteJobModal.spec.tsx => DeleteJobModal.test.tsx} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../SecretsDataView/{index.spec.tsx => index.test.tsx} | 0 ...uation.spec.tsx => ButtonLaunchEvaluation.test.tsx} | 0 .../form/{InputFile.spec.tsx => InputFile.test.tsx} | 0 ...sCheckboxes.spec.tsx => MetricsCheckboxes.test.tsx} | 0 ...ngCheckInput.spec.tsx => StringCheckInput.test.tsx} | 0 .../EvalCard/{index.spec.tsx => index.test.tsx} | 0 ...lSelect.spec.tsx => EvaluationModelSelect.test.tsx} | 0 .../Jobs/{ActionMenu.spec.tsx => ActionMenu.test.tsx} | 0 ...mparisonPanel.spec.tsx => ComparisonPanel.test.tsx} | 0 .../{DetailsPanel.spec.tsx => DetailsPanel.test.tsx} | 0 ....spec.tsx => EvaluationJobBulkDeleteModal.test.tsx} | 0 ...TypeSection.spec.tsx => MetricTypeSection.test.tsx} | 0 .../form/{ScoreModal.spec.tsx => ScoreModal.test.tsx} | 0 .../Jobs/form/{utils.spec.ts => utils.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../BulkDeleteModal/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{useFileActions.spec.ts => useFileActions.test.ts} | 0 ...eFileSelection.spec.ts => useFileSelection.test.ts} | 0 .../{useFileUpload.spec.ts => useFileUpload.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...useBulkDownload.spec.ts => useBulkDownload.test.ts} | 0 ...eBulkDuplicate.spec.ts => useBulkDuplicate.test.ts} | 0 ...er.spec.ts => useDownloadFileAsArrayBuffer.test.ts} | 0 .../AgentPanel/{index.spec.tsx => index.test.tsx} | 0 .../{walkthrough.spec.ts => walkthrough.test.ts} | 0 ...roughStorage.spec.ts => walkthroughStorage.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../{components.spec.tsx => components.test.tsx} | 0 .../ModelPanel/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../featureFlags/{utils.spec.ts => utils.test.ts} | 0 .../{sampleDatasets.spec.ts => sampleDatasets.test.ts} | 0 .../studio/src/constants/{zod.spec.ts => zod.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.ts => index.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.ts => index.test.ts} | 0 .../studio/src/{main.spec.tsx => main.test.tsx} | 0 ...hTokenStatus.spec.ts => useAuthTokenStatus.test.ts} | 0 .../{DetailActions.spec.tsx => DetailActions.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...nTemplates.spec.ts => skillActionTemplates.test.ts} | 0 ...illDisplayName.spec.ts => skillDisplayName.test.ts} | 0 .../{schema.spec.ts => schema.test.ts} | 0 ...e.spec.tsx => useCreateDeploymentBySource.test.tsx} | 0 ....spec.tsx => useDeleteDeploymentAndConfig.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{schemaColumn.spec.ts => schemaColumn.test.ts} | 0 ...amplePanel.spec.tsx => DatasetSamplePanel.test.tsx} | 0 .../{utils.spec.tsx => utils.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../ActionMenu/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../FilesetNewRoute/{index.spec.tsx => index.test.tsx} | 0 ....spec.tsx => InferenceModelProviderSelect.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../JobDetailRoute/{utils.spec.ts => utils.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../NoMatchRoute/{index.spec.tsx => index.test.tsx} | 0 .../{ThemeSwitch.spec.tsx => ThemeSwitch.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{util.spec.ts => util.test.ts} | 0 ...WorkspaceGuard.spec.tsx => WorkspaceGuard.test.tsx} | 0 .../RootRedirect/{index.spec.tsx => index.test.tsx} | 0 ...bConfigDrawer.spec.tsx => JobConfigDrawer.test.tsx} | 0 ...bDetailsPanel.spec.tsx => JobDetailsPanel.test.tsx} | 0 ...ogressSection.spec.tsx => ProgressSection.test.tsx} | 0 ...mmaryPanel.spec.tsx => ReportSummaryPanel.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{util.spec.ts => util.test.ts} | 0 .../{OverviewPanel.spec.tsx => OverviewPanel.test.tsx} | 0 ...PrivacyPanel.spec.tsx => DataPrivacyPanel.test.tsx} | 0 .../{ScoreItem.spec.tsx => ScoreItem.test.tsx} | 0 ...tyPanel.spec.tsx => SyntheticQualityPanel.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{util.spec.ts => util.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{utils.spec.ts => utils.test.ts} | 0 ...Parameters.spec.tsx => AdvancedParameters.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 ...berModal.spec.tsx => WorkspaceMemberModal.test.tsx} | 0 ...te.spec.tsx => AgentEvaluationDetailRoute.test.tsx} | 0 ...ute.spec.tsx => AgentEvaluationsListRoute.test.tsx} | 0 .../AgentEvaluationsRoute/{api.spec.ts => api.test.ts} | 0 .../{telemetry.spec.ts => telemetry.test.ts} | 0 .../AgentMonitorRoute/{utils.spec.ts => utils.test.ts} | 0 .../{api.read.spec.ts => api.read.test.ts} | 0 .../AgentSuggestionsRoute/{api.spec.ts => api.test.ts} | 0 ...tions.spec.tsx => useOptimizerSuggestions.test.tsx} | 0 .../{utils.spec.ts => utils.test.ts} | 0 .../AgentsListRoute/{index.spec.tsx => index.test.tsx} | 0 ...omposer.spec.tsx => BlockingInputComposer.test.tsx} | 0 ...yPanel.spec.tsx => ClaudeCodeHistoryPanel.test.tsx} | 0 ...udioLink.spec.tsx => ClaudeCodeStudioLink.test.tsx} | 0 ...llPart.spec.tsx => ClaudeCodeToolCallPart.test.tsx} | 0 ...sToolCall.spec.tsx => JobProgressToolCall.test.tsx} | 0 .../ClaudeCodeChatRoute/{api.spec.ts => api.test.ts} | 0 .../{stream.spec.ts => stream.test.ts} | 0 ...untime.spec.ts => useClaudeCodeChatRuntime.test.ts} | 0 ...e.spec.ts => useCustomAssistantChatRuntime.test.ts} | 0 .../ClaudeCodeChatRoute/{util.spec.ts => util.test.ts} | 0 .../utils/{jobProgress.spec.ts => jobProgress.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../src/routes/{index.spec.tsx => index.test.tsx} | 0 .../studio/src/routes/{utils.spec.ts => utils.test.ts} | 0 ...aluationConfig.spec.ts => evaluationConfig.test.ts} | 0 .../src/telemetry/{util.spec.ts => util.test.ts} | 0 .../{clone-a-model.spec.tsx => clone-a-model.test.tsx} | 0 ...zation.spec.tsx => create-a-customization.test.tsx} | 0 ...create-a-model.spec.tsx => create-a-model.test.tsx} | 0 .../{title-change.spec.tsx => title-change.test.tsx} | 0 ...inationSort.spec.ts => tablePaginationSort.test.ts} | 0 .../studio/src/util/{csrf.spec.ts => csrf.test.ts} | 0 .../{customizations.spec.ts => customizations.test.ts} | 0 ...stomizerSchema.spec.ts => customizerSchema.test.ts} | 0 .../studio/src/util/{date.spec.ts => date.test.ts} | 0 .../util/{evaluations.spec.ts => evaluations.test.ts} | 0 .../studio/src/util/{files.spec.ts => files.test.ts} | 0 .../{customization.spec.ts => customization.test.ts} | 0 .../src/util/forms/{error.spec.ts => error.test.ts} | 0 .../forms/{transforms.spec.ts => transforms.test.ts} | 0 .../src/util/{functions.spec.ts => functions.test.ts} | 0 ...essionStorage.spec.ts => useSessionStorage.test.ts} | 0 ...intakeTelemetry.spec.ts => intakeTelemetry.test.ts} | 0 .../studio/src/util/{list.spec.ts => list.test.ts} | 0 .../studio/src/util/{llm.spec.ts => llm.test.ts} | 0 .../studio/src/util/{logger.spec.ts => logger.test.ts} | 0 .../studio/src/util/{models.spec.ts => models.test.ts} | 0 .../src/util/{sseStream.spec.ts => sseStream.test.ts} | 0 ...figFromUrl.spec.ts => storageConfigFromUrl.test.ts} | 0 .../src/util/{strings.spec.ts => strings.test.ts} | 0 247 files changed, 25 insertions(+), 25 deletions(-) rename web/packages/studio/src/api/common/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/api/datasets/{useDatasetFileContent.spec.ts => useDatasetFileContent.test.ts} (100%) rename web/packages/studio/src/api/evaluation/{useEvaluationsWithMetrics.spec.ts => useEvaluationsWithMetrics.test.ts} (100%) rename web/packages/studio/src/api/evaluation/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/AccessibleTitle/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/BaseModelCard/{BaseModelCard.spec.tsx => BaseModelCard.test.tsx} (100%) rename web/packages/studio/src/components/CancelJobButton/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CopyButton/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CustomizationDetailsPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CustomizationFileUpload/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CustomizationFilesetCreateModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CustomizationFilesetDetailsPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CustomizationMetrics/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/CustomizeModelModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DatasetCreateModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetBreadcrumbs/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DatasetFileManagementSidePanel/{DatasetFileManagementSidePanelContainer.spec.tsx => DatasetFileManagementSidePanelContainer.test.tsx} (100%) rename web/packages/studio/src/components/DatasetFileManagementSidePanel/hooks/{useDatasetFileManagementState.spec.ts => useDatasetFileManagementState.test.ts} (100%) rename web/packages/studio/src/components/DatasetFileManagementSidePanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DatasetFileUpload/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DatasetInfoModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DatasetInfoModal/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/components/DatasetInputFile/{DatasetInputFile.spec.tsx => DatasetInputFile.test.tsx} (100%) rename web/packages/studio/src/components/DatasetsTable/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DeleteConfirmationModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DetailRow/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/DocumentationButton/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/ErrorPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/ExpandableMessage/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/FilesTable/FileQuickActions/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/FilesetCreateModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/FilesetFilePreviewPanel/FilesetFilePreviewContent/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/FilesetFilePreviewPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/FilterFields/{SearchBaseModels.spec.tsx => SearchBaseModels.test.tsx} (100%) rename web/packages/studio/src/components/ImportFileContent/{validation.spec.ts => validation.test.ts} (100%) rename web/packages/studio/src/components/InfiniteScroll/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/IntakeAnnotationsPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/IntakeSpansTable/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/IntakeTelemetryStatusBadge/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/IntakeTracesTable/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/Layouts/ErrorBoundary/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/Layouts/GlobalNav/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/Layouts/NavigationDrawer/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/Layouts/NotFound/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/Layouts/UnauthorizedWorkspace/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/ModelActionsMenu/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/ModelChat/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/ModelChatPanel/{ModelChatPanel.spec.tsx => ModelChatPanel.test.tsx} (100%) rename web/packages/studio/src/components/NewCustomizationForm/{FormSection.spec.tsx => FormSection.test.tsx} (100%) rename web/packages/studio/src/components/NewCustomizationForm/{ModelSelectionSection.spec.tsx => ModelSelectionSection.test.tsx} (100%) rename web/packages/studio/src/components/NewCustomizationForm/{ParameterEfficiency.spec.tsx => ParameterEfficiency.test.tsx} (100%) rename web/packages/studio/src/components/NewCustomizationForm/{TrainingMethodSelect.spec.tsx => TrainingMethodSelect.test.tsx} (100%) rename web/packages/studio/src/components/NewCustomizationForm/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/NewDataDesignerJobForm/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/NewDataDesignerJobForm/{previewApi.spec.ts => previewApi.test.ts} (100%) rename web/packages/studio/src/components/NewDataDesignerJobForm/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/PromptTuningForm/ImportFromSourceActions/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/hooks/{useSubmitICLsFile.spec.ts => useSubmitICLsFile.test.ts} (100%) rename web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/PromptTuningForm/ModelDetailsSection/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/PromptTuningForm/PromptTemplateSection/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/PromptTuningForm/ToolsSection/components/{ToolMetadataPanel.spec.tsx => ToolMetadataPanel.test.tsx} (100%) rename web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuDefault/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuRoot/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/SafeSynthesizerFilesetPreview/{FilesetFilePreviewLink.spec.tsx => FilesetFilePreviewLink.test.tsx} (100%) rename web/packages/studio/src/components/SafeSynthesizerFilesetPreview/{index.spec.tsx => index.test.tsx} (99%) rename web/packages/studio/src/components/SafeSynthesizerFilesetPreview/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/components/SafeSynthesizerNavigation/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/UserPopover/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/ValueWithLabel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/agents/AgentBlockingInput/{EvalConfigBlockingInput.spec.tsx => EvalConfigBlockingInput.test.tsx} (100%) rename web/packages/studio/src/components/agents/AgentBlockingInput/{ModelSelectBlockingInput.spec.tsx => ModelSelectBlockingInput.test.tsx} (100%) rename web/packages/studio/src/components/agents/AgentDecisionInput/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/common/FilterToolbar/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/common/SearchBar/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/{AutoSplitNotice.spec.tsx => AutoSplitNotice.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationFilesetSelect/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationHyperparameters/{ComputeResources.spec.tsx => ComputeResources.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationHyperparameters/{DpoParameters.spec.tsx => DpoParameters.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationHyperparameters/{GeneralParameters.spec.tsx => GeneralParameters.test.tsx} (100%) rename web/packages/studio/src/components/customizer/CustomizationHyperparameters/{LoraParameters.spec.tsx => LoraParameters.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/AgentsDataView/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/CustomModelsDataView/CustomizeModelButton/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/CustomModelsDataView/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/DeploymentsDataView/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/GuardrailsDataView/{GuardrailsDataView.spec.tsx => GuardrailsDataView.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/GuardrailsDataView/{guardrailUtils.spec.ts => guardrailUtils.test.ts} (100%) rename web/packages/studio/src/components/dataViews/InferenceProvidersDataView/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/JobsDataView/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/{DeleteJobModal.spec.tsx => DeleteJobModal.test.tsx} (100%) rename web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/dataViews/SecretsDataView/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/{ButtonLaunchEvaluation.spec.tsx => ButtonLaunchEvaluation.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Configurations/form/{InputFile.spec.tsx => InputFile.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Configurations/form/{MetricsCheckboxes.spec.tsx => MetricsCheckboxes.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Configurations/form/{StringCheckInput.spec.tsx => StringCheckInput.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/EvalCard/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/{EvaluationModelSelect.spec.tsx => EvaluationModelSelect.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/{ActionMenu.spec.tsx => ActionMenu.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/{ComparisonPanel.spec.tsx => ComparisonPanel.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/{DetailsPanel.spec.tsx => DetailsPanel.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/{EvaluationJobBulkDeleteModal.spec.tsx => EvaluationJobBulkDeleteModal.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/form/{MetricTypeSection.spec.tsx => MetricTypeSection.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/form/{ScoreModal.spec.tsx => ScoreModal.test.tsx} (100%) rename web/packages/studio/src/components/evaluation/Jobs/form/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/filesets/AddToFolderModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/filesets/FilesetFileExplorer/BulkDeleteModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/filesets/FilesetFileExplorer/DatasetFileDropzone/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/{useFileActions.spec.ts => useFileActions.test.ts} (100%) rename web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/{useFileSelection.spec.ts => useFileSelection.test.ts} (100%) rename web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/{useFileUpload.spec.ts => useFileUpload.test.ts} (100%) rename web/packages/studio/src/components/filesets/FilesetFileExplorer/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/filesets/hooks/{useBulkDownload.spec.ts => useBulkDownload.test.ts} (100%) rename web/packages/studio/src/components/filesets/hooks/{useBulkDuplicate.spec.ts => useBulkDuplicate.test.ts} (100%) rename web/packages/studio/src/components/filesets/hooks/{useDownloadFileAsArrayBuffer.spec.ts => useDownloadFileAsArrayBuffer.test.ts} (100%) rename web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/{walkthrough.spec.ts => walkthrough.test.ts} (100%) rename web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/{walkthroughStorage.spec.ts => walkthroughStorage.test.ts} (100%) rename web/packages/studio/src/components/sidePanels/CustomizationConfigSidePanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/sidePanels/MetricRunSidePanel/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/{components.spec.tsx => components.test.tsx} (100%) rename web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/components/sidePanels/PromptTuningPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/constants/featureFlags/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/constants/{sampleDatasets.spec.ts => sampleDatasets.test.ts} (100%) rename web/packages/studio/src/constants/{zod.spec.ts => zod.test.ts} (100%) rename web/packages/studio/src/hooks/useCustomizationDatasetValidation/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/hooks/useDatasetFileDiscovery/{index.spec.ts => index.test.ts} (100%) rename web/packages/studio/src/hooks/useModelCustomizationEligibility/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/hooks/useModelIsServed/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/hooks/useModelLoraEnabled/{index.spec.ts => index.test.ts} (100%) rename web/packages/studio/src/{main.spec.tsx => main.test.tsx} (100%) rename web/packages/studio/src/providers/auth/{useAuthTokenStatus.spec.ts => useAuthTokenStatus.test.ts} (100%) rename web/packages/studio/src/routes/CustomizationJobDetailsRoute/{DetailActions.spec.tsx => DetailActions.test.tsx} (100%) rename web/packages/studio/src/routes/CustomizationJobDetailsRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/DashboardLandingRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/DashboardLandingRoute/{skillActionTemplates.spec.ts => skillActionTemplates.test.ts} (100%) rename web/packages/studio/src/routes/DashboardLandingRoute/{skillDisplayName.spec.ts => skillDisplayName.test.ts} (100%) rename web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/{schema.spec.ts => schema.test.ts} (100%) rename web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/{useCreateDeploymentBySource.spec.tsx => useCreateDeploymentBySource.test.tsx} (100%) rename web/packages/studio/src/routes/DeploymentsListRoute/{useDeleteDeploymentAndConfig.spec.tsx => useDeleteDeploymentAndConfig.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetDetailRoute/DatasetSchemaEditor/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetDetailRoute/FilesTab/{schemaColumn.spec.ts => schemaColumn.test.ts} (100%) rename web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/{DatasetSamplePanel.spec.tsx => DatasetSamplePanel.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetDetailRoute/FilesetMetadataPanel/{utils.spec.tsx => utils.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetDetailRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetDetailRoute/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/routes/FilesetListRoute/ActionMenu/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetListRoute/DatasetBulkDeleteModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetListRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/FilesetNewRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/{InferenceModelProviderSelect.spec.tsx => InferenceModelProviderSelect.test.tsx} (100%) rename web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/InferenceProvidersListRoute/InferenceProviderDetailsSidePanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/IntakeTraceDetailRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/JobDetailRoute/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/routes/NewCustomizationRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/NoMatchRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/PageLayout/{ThemeSwitch.spec.tsx => ThemeSwitch.test.tsx} (100%) rename web/packages/studio/src/routes/PromptTuningFormRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/PromptTuningFormRoute/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/routes/RootLayout/{WorkspaceGuard.spec.tsx => WorkspaceGuard.test.tsx} (100%) rename web/packages/studio/src/routes/RootRedirect/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/{JobConfigDrawer.spec.tsx => JobConfigDrawer.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/{JobDetailsPanel.spec.tsx => JobDetailsPanel.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/{ProgressSection.spec.tsx => ProgressSection.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/{ReportSummaryPanel.spec.tsx => ReportSummaryPanel.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/{OverviewPanel.spec.tsx => OverviewPanel.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/{DataPrivacyPanel.spec.tsx => DataPrivacyPanel.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/{ScoreItem.spec.tsx => ScoreItem.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/{SyntheticQualityPanel.spec.tsx => SyntheticQualityPanel.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/routes/SafeSynthesizerListRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerListRoute/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/{AdvancedParameters.spec.tsx => AdvancedParameters.test.tsx} (100%) rename web/packages/studio/src/routes/SafeSynthesizerNewRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/WorkspaceBaseModelsRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/WorkspaceDashboardRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/WorkspaceMembersRoute/{WorkspaceMemberModal.spec.tsx => WorkspaceMemberModal.test.tsx} (100%) rename web/packages/studio/src/routes/agents/AgentEvaluationsRoute/{AgentEvaluationDetailRoute.spec.tsx => AgentEvaluationDetailRoute.test.tsx} (100%) rename web/packages/studio/src/routes/agents/AgentEvaluationsRoute/{AgentEvaluationsListRoute.spec.tsx => AgentEvaluationsListRoute.test.tsx} (100%) rename web/packages/studio/src/routes/agents/AgentEvaluationsRoute/{api.spec.ts => api.test.ts} (100%) rename web/packages/studio/src/routes/agents/AgentMonitorRoute/{telemetry.spec.ts => telemetry.test.ts} (100%) rename web/packages/studio/src/routes/agents/AgentMonitorRoute/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/routes/agents/AgentSuggestionsRoute/{api.read.spec.ts => api.read.test.ts} (100%) rename web/packages/studio/src/routes/agents/AgentSuggestionsRoute/{api.spec.ts => api.test.ts} (100%) rename web/packages/studio/src/routes/agents/AgentSuggestionsRoute/{useOptimizerSuggestions.spec.tsx => useOptimizerSuggestions.test.tsx} (100%) rename web/packages/studio/src/routes/agents/AgentSuggestionsRoute/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/routes/agents/AgentsListRoute/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{BlockingInputComposer.spec.tsx => BlockingInputComposer.test.tsx} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{ClaudeCodeHistoryPanel.spec.tsx => ClaudeCodeHistoryPanel.test.tsx} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{ClaudeCodeStudioLink.spec.tsx => ClaudeCodeStudioLink.test.tsx} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{ClaudeCodeToolCallPart.spec.tsx => ClaudeCodeToolCallPart.test.tsx} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{JobProgressToolCall.spec.tsx => JobProgressToolCall.test.tsx} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{api.spec.ts => api.test.ts} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{stream.spec.ts => stream.test.ts} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{useClaudeCodeChatRuntime.spec.ts => useClaudeCodeChatRuntime.test.ts} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{useCustomAssistantChatRuntime.spec.ts => useCustomAssistantChatRuntime.test.ts} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/utils/{jobProgress.spec.ts => jobProgress.test.ts} (100%) rename web/packages/studio/src/routes/guardrails/GuardrailsDetailPanel/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/studio/src/routes/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/studio/src/selectors/{evaluationConfig.spec.ts => evaluationConfig.test.ts} (100%) rename web/packages/studio/src/telemetry/{util.spec.ts => util.test.ts} (100%) rename web/packages/studio/src/tests/{clone-a-model.spec.tsx => clone-a-model.test.tsx} (100%) rename web/packages/studio/src/tests/{create-a-customization.spec.tsx => create-a-customization.test.tsx} (100%) rename web/packages/studio/src/tests/{create-a-model.spec.tsx => create-a-model.test.tsx} (100%) rename web/packages/studio/src/tests/{title-change.spec.tsx => title-change.test.tsx} (100%) rename web/packages/studio/src/util/__tests__/{tablePaginationSort.spec.ts => tablePaginationSort.test.ts} (100%) rename web/packages/studio/src/util/{csrf.spec.ts => csrf.test.ts} (100%) rename web/packages/studio/src/util/{customizations.spec.ts => customizations.test.ts} (100%) rename web/packages/studio/src/util/{customizerSchema.spec.ts => customizerSchema.test.ts} (100%) rename web/packages/studio/src/util/{date.spec.ts => date.test.ts} (100%) rename web/packages/studio/src/util/{evaluations.spec.ts => evaluations.test.ts} (100%) rename web/packages/studio/src/util/{files.spec.ts => files.test.ts} (100%) rename web/packages/studio/src/util/forms/{customization.spec.ts => customization.test.ts} (100%) rename web/packages/studio/src/util/forms/{error.spec.ts => error.test.ts} (100%) rename web/packages/studio/src/util/forms/{transforms.spec.ts => transforms.test.ts} (100%) rename web/packages/studio/src/util/{functions.spec.ts => functions.test.ts} (100%) rename web/packages/studio/src/util/hooks/{useSessionStorage.spec.ts => useSessionStorage.test.ts} (100%) rename web/packages/studio/src/util/{intakeTelemetry.spec.ts => intakeTelemetry.test.ts} (100%) rename web/packages/studio/src/util/{list.spec.ts => list.test.ts} (100%) rename web/packages/studio/src/util/{llm.spec.ts => llm.test.ts} (100%) rename web/packages/studio/src/util/{logger.spec.ts => logger.test.ts} (100%) rename web/packages/studio/src/util/{models.spec.ts => models.test.ts} (100%) rename web/packages/studio/src/util/{sseStream.spec.ts => sseStream.test.ts} (100%) rename web/packages/studio/src/util/{storageConfigFromUrl.spec.ts => storageConfigFromUrl.test.ts} (100%) rename web/packages/studio/src/util/{strings.spec.ts => strings.test.ts} (100%) diff --git a/web/.agents/skills/test-coverage-improvement/SKILL.md b/web/.agents/skills/test-coverage-improvement/SKILL.md index f08f30a3ba..5393703cb2 100644 --- a/web/.agents/skills/test-coverage-improvement/SKILL.md +++ b/web/.agents/skills/test-coverage-improvement/SKILL.md @@ -46,7 +46,7 @@ Combine **`coverage-final.json`** with judgment—**do not** use only the bottom - Sort by low **`lines.pct`** / **`statements.pct`** among included source files. - **Prefer:** logic-heavy modules, hooks, API glue, non-trivial components, error paths. - **Skip or defer:** thin re-exports, empty barrels, generated-only files, trivial constants (unless user asked otherwise). -- **Exclude:** `*.spec.*`, `e2e-tests/**`, `node_modules/**`, outside **`coverage.include`**. +- **Exclude:** `*.test.*`, `e2e-tests/**`, `node_modules/**`, outside **`coverage.include`**. Output a **numbered list** (path, %, one-line rationale). **Do not wait for approval** unless the user explicitly asked to confirm the list; proceed to the loop. @@ -73,15 +73,15 @@ If the file is **untestable without refactor**, add a **short skip note** in the - **React:** **`web/.agents/skills/unit-test/SKILL.md`** (RTL, MSW, `findBy*`, `vi.mock`). - **Non-React:** Vitest + **`vi.mock`** as needed. -- Colocate **`*.spec.ts` / `*.spec.tsx`** unless the package uses another established pattern. +- Colocate **`*.test.ts` / `*.test.tsx`** unless the package uses another established pattern. ### 3d. Verify before next file -1. `pnpm vitest --run path/to/File.spec.ts` (and any related specs) until **exit 0**. +1. `pnpm vitest --run path/to/File.test.ts` (and any related specs) until **exit 0**. 2. **`pnpm typecheck`**; **`pnpm typecheck:go`** if defined. Fix TypeScript issues (TanStack context, SDK types, etc.). 3. Optionally re-run coverage for the package and note improvement for that file. -Keep a **running list** of every file path you **create or edit** during §3 (new **`*.spec.*`**, and any production files you touch). You will pass that list to eslint in §4. +Keep a **running list** of every file path you **create or edit** during §3 (new **`*.test.*`**, and any production files you touch). You will pass that list to eslint in §4. You may fix obvious **ESLint** issues (e.g. **`import/order`**) during §3d when **`typecheck`** is already clean. @@ -92,7 +92,7 @@ When **all** shortlist iterations in §3 are finished (not after each file): 1. `cd web/packages/`. 2. From **`package.json`**, read the **`lint`** script and reuse the **same eslint flags** as the project (everything after the `eslint` command—e.g. **`--report-unused-disable-directives --max-warnings 0`** for Studio), but **replace the path glob** (e.g. `.`) with **only your tracked file paths**: ```bash - pnpm exec eslint --report-unused-disable-directives --max-warnings 0 path/to/A.spec.ts path/to/B.spec.ts + pnpm exec eslint --report-unused-disable-directives --max-warnings 0 path/to/A.test.ts path/to/B.test.ts ``` 3. If the package uses **`lint:fix`** for local workflow, you may run **`pnpm exec eslint --fix ...`** with the **same file list** first, then re-run without **`--fix`** if needed to confirm **exit 0**. 4. Fix any reported issues until eslint exits **0** on that list. diff --git a/web/.agents/skills/unit-test/SKILL.md b/web/.agents/skills/unit-test/SKILL.md index b51fdc8e0c..98ccbd5f91 100644 --- a/web/.agents/skills/unit-test/SKILL.md +++ b/web/.agents/skills/unit-test/SKILL.md @@ -92,14 +92,14 @@ Two acceptable patterns from `web/`: ```bash # Pattern A — filter from web/ root pnpm --filter nemo-studio-ui test # whole package -pnpm --filter nemo-studio-ui test -- src/components/Button.spec.tsx # specific file +pnpm --filter nemo-studio-ui test -- src/components/Button.test.tsx # specific file pnpm --filter nemo-studio-ui test -- --reporter=verbose Button # pattern match pnpm --filter nemo-studio-ui test -- --coverage # with coverage # Pattern B — cd into the package cd packages/studio pnpm test # whole package -pnpm test -- src/components/Button.spec.tsx # specific file +pnpm test -- src/components/Button.test.tsx # specific file ``` `pnpm test` already passes `--run` (no watch mode) — tests run to completion so results can be read and iterated on. diff --git a/web/AGENTS.md b/web/AGENTS.md index 718fa8a586..eaa5240f10 100644 --- a/web/AGENTS.md +++ b/web/AGENTS.md @@ -40,7 +40,7 @@ Cursor/Claude skills for this monorepo live under **`web/.agents/skills/`** (for - **Never invoke `vitest` directly** (e.g. `pnpm vitest --run`). Always go through a package's `test` script so env/config (e.g. `NODE_OPTIONS=--max-old-space-size=10240` in `studio`) is applied. - Use one of these patterns from `web/`: - Whole package: `pnpm --filter test` (e.g. `pnpm --filter nemo-studio-ui test`, `pnpm --filter @nemo/common test`) - - Targeted file: `pnpm --filter test path/to/file.spec.tsx` + - Targeted file: `pnpm --filter test path/to/file.test.tsx` ## CI Scripts Convention diff --git a/web/README.md b/web/README.md index 3fddd7cb63..8d48fdb4d2 100644 --- a/web/README.md +++ b/web/README.md @@ -58,8 +58,8 @@ Stack: [Vitest](https://vitest.dev/) + [React Testing Library](https://testing-l Conventions: -- Co-locate unit tests next to source: `Chat/index.tsx` ↔ `Chat/index.spec.tsx`. -- Larger user-workflow tests (create/delete project, chat, etc.) live in `packages/studio/src/tests`, e.g. `create-a-model.spec.tsx`. +- Co-locate unit tests next to source: `Chat/index.tsx` ↔ `Chat/index.test.tsx`. +- Larger user-workflow tests (create/delete project, chat, etc.) live in `packages/studio/src/tests`, e.g. `create-a-model.test.tsx`. - E2E specs live in `packages/studio/e2e-tests`. From `/packages/studio`: diff --git a/web/packages/common/src/utils/codeSnippet.spec.ts b/web/packages/common/src/utils/codeSnippet.spec.ts index 80922b6081..c58b36178d 100644 --- a/web/packages/common/src/utils/codeSnippet.spec.ts +++ b/web/packages/common/src/utils/codeSnippet.spec.ts @@ -84,7 +84,7 @@ describe('getLanguageFromFilePath', () => { }); it('handles files with multiple dots', () => { - expect(getLanguageFromFilePath('file.spec.ts')).toBe('typescript'); + expect(getLanguageFromFilePath('file.test.ts')).toBe('typescript'); expect(getLanguageFromFilePath('config.prod.json')).toBe('json'); }); diff --git a/web/packages/studio/e2e-tests/customization.spec.ts b/web/packages/studio/e2e-tests/customization.spec.ts index 4517bf0e9d..7633304824 100644 --- a/web/packages/studio/e2e-tests/customization.spec.ts +++ b/web/packages/studio/e2e-tests/customization.spec.ts @@ -61,7 +61,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by customization.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by customization.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, @@ -72,7 +72,7 @@ const test = baseTest.extend({ }, testDataset: async ({ request, testProject }, runFixture) => { const datasetName = generateShortTestResourceName(); - const datasetDescription = `Dataset created by customization.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const datasetDescription = `Dataset created by customization.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testDatasetFixture( request, runFixture, @@ -95,7 +95,7 @@ const test = baseTest.extend({ ]); }, testCustomizationJob: async ({ request, testCustomizationFiles }, runFixture) => { - const jobDescription = `Customization job created by customization.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const jobDescription = `Customization job created by customization.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; const requestBody: CustomizationJobRequest = { description: jobDescription, project: `${testCustomizationFiles.project.workspace}/${testCustomizationFiles.project.name}`, diff --git a/web/packages/studio/e2e-tests/evaluation.spec.ts b/web/packages/studio/e2e-tests/evaluation.spec.ts index f855c01aaf..b33b4cb91c 100644 --- a/web/packages/studio/e2e-tests/evaluation.spec.ts +++ b/web/packages/studio/e2e-tests/evaluation.spec.ts @@ -173,7 +173,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by evaluation.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by evaluation.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, @@ -184,7 +184,7 @@ const test = baseTest.extend({ }, testDataset: async ({ request, testProject }, runFixture) => { const datasetName = generateTestResourceName('dataset'); - const datasetDescription = `Dataset created by evaluation.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const datasetDescription = `Dataset created by evaluation.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testDatasetFixture( request, runFixture, diff --git a/web/packages/studio/e2e-tests/projects/datasets.spec.ts b/web/packages/studio/e2e-tests/projects/datasets.spec.ts index 7ca678fa4f..bd34482543 100644 --- a/web/packages/studio/e2e-tests/projects/datasets.spec.ts +++ b/web/packages/studio/e2e-tests/projects/datasets.spec.ts @@ -46,7 +46,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by datasets.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by datasets.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, @@ -57,7 +57,7 @@ const test = baseTest.extend({ }, testDataset: async ({ request, testProject }, runFixture) => { const datasetName = generateTestResourceName('dataset'); - const datasetDescription = `Dataset created by datasets.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const datasetDescription = `Dataset created by datasets.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testDatasetFixture( request, runFixture, diff --git a/web/packages/studio/e2e-tests/projects/model-inference.spec.ts b/web/packages/studio/e2e-tests/projects/model-inference.spec.ts index 2f99783c19..c11ddf8a1b 100644 --- a/web/packages/studio/e2e-tests/projects/model-inference.spec.ts +++ b/web/packages/studio/e2e-tests/projects/model-inference.spec.ts @@ -45,7 +45,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by model-inference.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by model-inference.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, diff --git a/web/packages/studio/e2e-tests/projects/model.spec.ts b/web/packages/studio/e2e-tests/projects/model.spec.ts index a5357aab56..f800dcdb3f 100644 --- a/web/packages/studio/e2e-tests/projects/model.spec.ts +++ b/web/packages/studio/e2e-tests/projects/model.spec.ts @@ -43,7 +43,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by model.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by model.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, diff --git a/web/packages/studio/e2e-tests/projects/project.spec.ts b/web/packages/studio/e2e-tests/projects/project.spec.ts index a3ad742c05..173c470ed1 100644 --- a/web/packages/studio/e2e-tests/projects/project.spec.ts +++ b/web/packages/studio/e2e-tests/projects/project.spec.ts @@ -37,7 +37,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by project.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by project.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, @@ -59,7 +59,7 @@ test.describe('Projects', () => { test('Creates a project', async ({ page, projectsPage, projectsApi }) => { test.slow(); const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by project.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by project.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await projectsPage.goto(); await projectsPage.waitForPageLoad(); diff --git a/web/packages/studio/e2e-tests/safeSynthesizer.spec.ts b/web/packages/studio/e2e-tests/safeSynthesizer.spec.ts index 2e6f57a63a..85ae12d2ff 100644 --- a/web/packages/studio/e2e-tests/safeSynthesizer.spec.ts +++ b/web/packages/studio/e2e-tests/safeSynthesizer.spec.ts @@ -44,7 +44,7 @@ const test = baseTest.extend({ }, testProject: async ({ request }, runFixture) => { const projectDisplayName = generateTestResourceName('project'); - const projectDescription = `Project created by SafeSynthesizer.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const projectDescription = `Project created by SafeSynthesizer.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testProjectFixture( request, runFixture, @@ -55,7 +55,7 @@ const test = baseTest.extend({ }, testDataset: async ({ request, testProject }, runFixture) => { const datasetName = generateShortTestResourceName(); - const datasetDescription = `Dataset created by safeSynthesizer.spec.ts E2E test on ${CURRENT_YYYY_MM_DD}`; + const datasetDescription = `Dataset created by safeSynthesizer.test.ts E2E test on ${CURRENT_YYYY_MM_DD}`; await testDatasetFixture( request, runFixture, diff --git a/web/packages/studio/src/api/common/utils.spec.ts b/web/packages/studio/src/api/common/utils.test.ts similarity index 100% rename from web/packages/studio/src/api/common/utils.spec.ts rename to web/packages/studio/src/api/common/utils.test.ts diff --git a/web/packages/studio/src/api/datasets/useDatasetFileContent.spec.ts b/web/packages/studio/src/api/datasets/useDatasetFileContent.test.ts similarity index 100% rename from web/packages/studio/src/api/datasets/useDatasetFileContent.spec.ts rename to web/packages/studio/src/api/datasets/useDatasetFileContent.test.ts diff --git a/web/packages/studio/src/api/evaluation/useEvaluationsWithMetrics.spec.ts b/web/packages/studio/src/api/evaluation/useEvaluationsWithMetrics.test.ts similarity index 100% rename from web/packages/studio/src/api/evaluation/useEvaluationsWithMetrics.spec.ts rename to web/packages/studio/src/api/evaluation/useEvaluationsWithMetrics.test.ts diff --git a/web/packages/studio/src/api/evaluation/utils.spec.ts b/web/packages/studio/src/api/evaluation/utils.test.ts similarity index 100% rename from web/packages/studio/src/api/evaluation/utils.spec.ts rename to web/packages/studio/src/api/evaluation/utils.test.ts diff --git a/web/packages/studio/src/components/AccessibleTitle/index.spec.tsx b/web/packages/studio/src/components/AccessibleTitle/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/AccessibleTitle/index.spec.tsx rename to web/packages/studio/src/components/AccessibleTitle/index.test.tsx diff --git a/web/packages/studio/src/components/BaseModelCard/BaseModelCard.spec.tsx b/web/packages/studio/src/components/BaseModelCard/BaseModelCard.test.tsx similarity index 100% rename from web/packages/studio/src/components/BaseModelCard/BaseModelCard.spec.tsx rename to web/packages/studio/src/components/BaseModelCard/BaseModelCard.test.tsx diff --git a/web/packages/studio/src/components/CancelJobButton/index.spec.tsx b/web/packages/studio/src/components/CancelJobButton/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CancelJobButton/index.spec.tsx rename to web/packages/studio/src/components/CancelJobButton/index.test.tsx diff --git a/web/packages/studio/src/components/CopyButton/index.spec.tsx b/web/packages/studio/src/components/CopyButton/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CopyButton/index.spec.tsx rename to web/packages/studio/src/components/CopyButton/index.test.tsx diff --git a/web/packages/studio/src/components/CustomizationDetailsPanel/index.spec.tsx b/web/packages/studio/src/components/CustomizationDetailsPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CustomizationDetailsPanel/index.spec.tsx rename to web/packages/studio/src/components/CustomizationDetailsPanel/index.test.tsx diff --git a/web/packages/studio/src/components/CustomizationFileUpload/index.spec.tsx b/web/packages/studio/src/components/CustomizationFileUpload/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CustomizationFileUpload/index.spec.tsx rename to web/packages/studio/src/components/CustomizationFileUpload/index.test.tsx diff --git a/web/packages/studio/src/components/CustomizationFilesetCreateModal/index.spec.tsx b/web/packages/studio/src/components/CustomizationFilesetCreateModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CustomizationFilesetCreateModal/index.spec.tsx rename to web/packages/studio/src/components/CustomizationFilesetCreateModal/index.test.tsx diff --git a/web/packages/studio/src/components/CustomizationFilesetDetailsPanel/index.spec.tsx b/web/packages/studio/src/components/CustomizationFilesetDetailsPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CustomizationFilesetDetailsPanel/index.spec.tsx rename to web/packages/studio/src/components/CustomizationFilesetDetailsPanel/index.test.tsx diff --git a/web/packages/studio/src/components/CustomizationMetrics/index.spec.tsx b/web/packages/studio/src/components/CustomizationMetrics/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CustomizationMetrics/index.spec.tsx rename to web/packages/studio/src/components/CustomizationMetrics/index.test.tsx diff --git a/web/packages/studio/src/components/CustomizeModelModal/index.spec.tsx b/web/packages/studio/src/components/CustomizeModelModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/CustomizeModelModal/index.spec.tsx rename to web/packages/studio/src/components/CustomizeModelModal/index.test.tsx diff --git a/web/packages/studio/src/components/DatasetCreateModal/index.spec.tsx b/web/packages/studio/src/components/DatasetCreateModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetCreateModal/index.spec.tsx rename to web/packages/studio/src/components/DatasetCreateModal/index.test.tsx diff --git a/web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetBreadcrumbs/index.spec.tsx b/web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetBreadcrumbs/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetBreadcrumbs/index.spec.tsx rename to web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetBreadcrumbs/index.test.tsx diff --git a/web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetFileManagementSidePanelContainer.spec.tsx b/web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetFileManagementSidePanelContainer.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetFileManagementSidePanelContainer.spec.tsx rename to web/packages/studio/src/components/DatasetFileManagementSidePanel/DatasetFileManagementSidePanelContainer.test.tsx diff --git a/web/packages/studio/src/components/DatasetFileManagementSidePanel/hooks/useDatasetFileManagementState.spec.ts b/web/packages/studio/src/components/DatasetFileManagementSidePanel/hooks/useDatasetFileManagementState.test.ts similarity index 100% rename from web/packages/studio/src/components/DatasetFileManagementSidePanel/hooks/useDatasetFileManagementState.spec.ts rename to web/packages/studio/src/components/DatasetFileManagementSidePanel/hooks/useDatasetFileManagementState.test.ts diff --git a/web/packages/studio/src/components/DatasetFileManagementSidePanel/index.spec.tsx b/web/packages/studio/src/components/DatasetFileManagementSidePanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetFileManagementSidePanel/index.spec.tsx rename to web/packages/studio/src/components/DatasetFileManagementSidePanel/index.test.tsx diff --git a/web/packages/studio/src/components/DatasetFileUpload/index.spec.tsx b/web/packages/studio/src/components/DatasetFileUpload/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetFileUpload/index.spec.tsx rename to web/packages/studio/src/components/DatasetFileUpload/index.test.tsx diff --git a/web/packages/studio/src/components/DatasetInfoModal/index.spec.tsx b/web/packages/studio/src/components/DatasetInfoModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetInfoModal/index.spec.tsx rename to web/packages/studio/src/components/DatasetInfoModal/index.test.tsx diff --git a/web/packages/studio/src/components/DatasetInfoModal/util.spec.ts b/web/packages/studio/src/components/DatasetInfoModal/util.test.ts similarity index 100% rename from web/packages/studio/src/components/DatasetInfoModal/util.spec.ts rename to web/packages/studio/src/components/DatasetInfoModal/util.test.ts diff --git a/web/packages/studio/src/components/DatasetInputFile/DatasetInputFile.spec.tsx b/web/packages/studio/src/components/DatasetInputFile/DatasetInputFile.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetInputFile/DatasetInputFile.spec.tsx rename to web/packages/studio/src/components/DatasetInputFile/DatasetInputFile.test.tsx diff --git a/web/packages/studio/src/components/DatasetsTable/index.spec.tsx b/web/packages/studio/src/components/DatasetsTable/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DatasetsTable/index.spec.tsx rename to web/packages/studio/src/components/DatasetsTable/index.test.tsx diff --git a/web/packages/studio/src/components/DeleteConfirmationModal/index.spec.tsx b/web/packages/studio/src/components/DeleteConfirmationModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DeleteConfirmationModal/index.spec.tsx rename to web/packages/studio/src/components/DeleteConfirmationModal/index.test.tsx diff --git a/web/packages/studio/src/components/DetailRow/index.spec.tsx b/web/packages/studio/src/components/DetailRow/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DetailRow/index.spec.tsx rename to web/packages/studio/src/components/DetailRow/index.test.tsx diff --git a/web/packages/studio/src/components/DocumentationButton/index.spec.tsx b/web/packages/studio/src/components/DocumentationButton/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/DocumentationButton/index.spec.tsx rename to web/packages/studio/src/components/DocumentationButton/index.test.tsx diff --git a/web/packages/studio/src/components/ErrorPanel/index.spec.tsx b/web/packages/studio/src/components/ErrorPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/ErrorPanel/index.spec.tsx rename to web/packages/studio/src/components/ErrorPanel/index.test.tsx diff --git a/web/packages/studio/src/components/ExpandableMessage/index.spec.tsx b/web/packages/studio/src/components/ExpandableMessage/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/ExpandableMessage/index.spec.tsx rename to web/packages/studio/src/components/ExpandableMessage/index.test.tsx diff --git a/web/packages/studio/src/components/FilesTable/FileQuickActions/index.spec.tsx b/web/packages/studio/src/components/FilesTable/FileQuickActions/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/FilesTable/FileQuickActions/index.spec.tsx rename to web/packages/studio/src/components/FilesTable/FileQuickActions/index.test.tsx diff --git a/web/packages/studio/src/components/FilesetCreateModal/index.spec.tsx b/web/packages/studio/src/components/FilesetCreateModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/FilesetCreateModal/index.spec.tsx rename to web/packages/studio/src/components/FilesetCreateModal/index.test.tsx diff --git a/web/packages/studio/src/components/FilesetFilePreviewPanel/FilesetFilePreviewContent/index.spec.tsx b/web/packages/studio/src/components/FilesetFilePreviewPanel/FilesetFilePreviewContent/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/FilesetFilePreviewPanel/FilesetFilePreviewContent/index.spec.tsx rename to web/packages/studio/src/components/FilesetFilePreviewPanel/FilesetFilePreviewContent/index.test.tsx diff --git a/web/packages/studio/src/components/FilesetFilePreviewPanel/index.spec.tsx b/web/packages/studio/src/components/FilesetFilePreviewPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/FilesetFilePreviewPanel/index.spec.tsx rename to web/packages/studio/src/components/FilesetFilePreviewPanel/index.test.tsx diff --git a/web/packages/studio/src/components/FilterFields/SearchBaseModels.spec.tsx b/web/packages/studio/src/components/FilterFields/SearchBaseModels.test.tsx similarity index 100% rename from web/packages/studio/src/components/FilterFields/SearchBaseModels.spec.tsx rename to web/packages/studio/src/components/FilterFields/SearchBaseModels.test.tsx diff --git a/web/packages/studio/src/components/ImportFileContent/validation.spec.ts b/web/packages/studio/src/components/ImportFileContent/validation.test.ts similarity index 100% rename from web/packages/studio/src/components/ImportFileContent/validation.spec.ts rename to web/packages/studio/src/components/ImportFileContent/validation.test.ts diff --git a/web/packages/studio/src/components/InfiniteScroll/index.spec.tsx b/web/packages/studio/src/components/InfiniteScroll/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/InfiniteScroll/index.spec.tsx rename to web/packages/studio/src/components/InfiniteScroll/index.test.tsx diff --git a/web/packages/studio/src/components/IntakeAnnotationsPanel/index.spec.tsx b/web/packages/studio/src/components/IntakeAnnotationsPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/IntakeAnnotationsPanel/index.spec.tsx rename to web/packages/studio/src/components/IntakeAnnotationsPanel/index.test.tsx diff --git a/web/packages/studio/src/components/IntakeSpansTable/index.spec.tsx b/web/packages/studio/src/components/IntakeSpansTable/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/IntakeSpansTable/index.spec.tsx rename to web/packages/studio/src/components/IntakeSpansTable/index.test.tsx diff --git a/web/packages/studio/src/components/IntakeTelemetryStatusBadge/index.spec.tsx b/web/packages/studio/src/components/IntakeTelemetryStatusBadge/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/IntakeTelemetryStatusBadge/index.spec.tsx rename to web/packages/studio/src/components/IntakeTelemetryStatusBadge/index.test.tsx diff --git a/web/packages/studio/src/components/IntakeTracesTable/index.spec.tsx b/web/packages/studio/src/components/IntakeTracesTable/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/IntakeTracesTable/index.spec.tsx rename to web/packages/studio/src/components/IntakeTracesTable/index.test.tsx diff --git a/web/packages/studio/src/components/Layouts/ErrorBoundary/index.spec.tsx b/web/packages/studio/src/components/Layouts/ErrorBoundary/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/Layouts/ErrorBoundary/index.spec.tsx rename to web/packages/studio/src/components/Layouts/ErrorBoundary/index.test.tsx diff --git a/web/packages/studio/src/components/Layouts/GlobalNav/index.spec.tsx b/web/packages/studio/src/components/Layouts/GlobalNav/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/Layouts/GlobalNav/index.spec.tsx rename to web/packages/studio/src/components/Layouts/GlobalNav/index.test.tsx diff --git a/web/packages/studio/src/components/Layouts/NavigationDrawer/index.spec.tsx b/web/packages/studio/src/components/Layouts/NavigationDrawer/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/Layouts/NavigationDrawer/index.spec.tsx rename to web/packages/studio/src/components/Layouts/NavigationDrawer/index.test.tsx diff --git a/web/packages/studio/src/components/Layouts/NotFound/index.spec.tsx b/web/packages/studio/src/components/Layouts/NotFound/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/Layouts/NotFound/index.spec.tsx rename to web/packages/studio/src/components/Layouts/NotFound/index.test.tsx diff --git a/web/packages/studio/src/components/Layouts/UnauthorizedWorkspace/index.spec.tsx b/web/packages/studio/src/components/Layouts/UnauthorizedWorkspace/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/Layouts/UnauthorizedWorkspace/index.spec.tsx rename to web/packages/studio/src/components/Layouts/UnauthorizedWorkspace/index.test.tsx diff --git a/web/packages/studio/src/components/ModelActionsMenu/index.spec.tsx b/web/packages/studio/src/components/ModelActionsMenu/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/ModelActionsMenu/index.spec.tsx rename to web/packages/studio/src/components/ModelActionsMenu/index.test.tsx diff --git a/web/packages/studio/src/components/ModelChat/index.spec.tsx b/web/packages/studio/src/components/ModelChat/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/ModelChat/index.spec.tsx rename to web/packages/studio/src/components/ModelChat/index.test.tsx diff --git a/web/packages/studio/src/components/ModelChatPanel/ModelChatPanel.spec.tsx b/web/packages/studio/src/components/ModelChatPanel/ModelChatPanel.test.tsx similarity index 100% rename from web/packages/studio/src/components/ModelChatPanel/ModelChatPanel.spec.tsx rename to web/packages/studio/src/components/ModelChatPanel/ModelChatPanel.test.tsx diff --git a/web/packages/studio/src/components/NewCustomizationForm/FormSection.spec.tsx b/web/packages/studio/src/components/NewCustomizationForm/FormSection.test.tsx similarity index 100% rename from web/packages/studio/src/components/NewCustomizationForm/FormSection.spec.tsx rename to web/packages/studio/src/components/NewCustomizationForm/FormSection.test.tsx diff --git a/web/packages/studio/src/components/NewCustomizationForm/ModelSelectionSection.spec.tsx b/web/packages/studio/src/components/NewCustomizationForm/ModelSelectionSection.test.tsx similarity index 100% rename from web/packages/studio/src/components/NewCustomizationForm/ModelSelectionSection.spec.tsx rename to web/packages/studio/src/components/NewCustomizationForm/ModelSelectionSection.test.tsx diff --git a/web/packages/studio/src/components/NewCustomizationForm/ParameterEfficiency.spec.tsx b/web/packages/studio/src/components/NewCustomizationForm/ParameterEfficiency.test.tsx similarity index 100% rename from web/packages/studio/src/components/NewCustomizationForm/ParameterEfficiency.spec.tsx rename to web/packages/studio/src/components/NewCustomizationForm/ParameterEfficiency.test.tsx diff --git a/web/packages/studio/src/components/NewCustomizationForm/TrainingMethodSelect.spec.tsx b/web/packages/studio/src/components/NewCustomizationForm/TrainingMethodSelect.test.tsx similarity index 100% rename from web/packages/studio/src/components/NewCustomizationForm/TrainingMethodSelect.spec.tsx rename to web/packages/studio/src/components/NewCustomizationForm/TrainingMethodSelect.test.tsx diff --git a/web/packages/studio/src/components/NewCustomizationForm/utils.spec.ts b/web/packages/studio/src/components/NewCustomizationForm/utils.test.ts similarity index 100% rename from web/packages/studio/src/components/NewCustomizationForm/utils.spec.ts rename to web/packages/studio/src/components/NewCustomizationForm/utils.test.ts diff --git a/web/packages/studio/src/components/NewDataDesignerJobForm/index.spec.tsx b/web/packages/studio/src/components/NewDataDesignerJobForm/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/NewDataDesignerJobForm/index.spec.tsx rename to web/packages/studio/src/components/NewDataDesignerJobForm/index.test.tsx diff --git a/web/packages/studio/src/components/NewDataDesignerJobForm/previewApi.spec.ts b/web/packages/studio/src/components/NewDataDesignerJobForm/previewApi.test.ts similarity index 100% rename from web/packages/studio/src/components/NewDataDesignerJobForm/previewApi.spec.ts rename to web/packages/studio/src/components/NewDataDesignerJobForm/previewApi.test.ts diff --git a/web/packages/studio/src/components/NewDataDesignerJobForm/utils.spec.ts b/web/packages/studio/src/components/NewDataDesignerJobForm/utils.test.ts similarity index 100% rename from web/packages/studio/src/components/NewDataDesignerJobForm/utils.spec.ts rename to web/packages/studio/src/components/NewDataDesignerJobForm/utils.test.ts diff --git a/web/packages/studio/src/components/PromptTuningForm/ImportFromSourceActions/index.spec.tsx b/web/packages/studio/src/components/PromptTuningForm/ImportFromSourceActions/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/PromptTuningForm/ImportFromSourceActions/index.spec.tsx rename to web/packages/studio/src/components/PromptTuningForm/ImportFromSourceActions/index.test.tsx diff --git a/web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/hooks/useSubmitICLsFile.spec.ts b/web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/hooks/useSubmitICLsFile.test.ts similarity index 100% rename from web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/hooks/useSubmitICLsFile.spec.ts rename to web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/hooks/useSubmitICLsFile.test.ts diff --git a/web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/index.spec.tsx b/web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/index.spec.tsx rename to web/packages/studio/src/components/PromptTuningForm/InContextLearningSection/index.test.tsx diff --git a/web/packages/studio/src/components/PromptTuningForm/ModelDetailsSection/index.spec.tsx b/web/packages/studio/src/components/PromptTuningForm/ModelDetailsSection/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/PromptTuningForm/ModelDetailsSection/index.spec.tsx rename to web/packages/studio/src/components/PromptTuningForm/ModelDetailsSection/index.test.tsx diff --git a/web/packages/studio/src/components/PromptTuningForm/PromptTemplateSection/index.spec.tsx b/web/packages/studio/src/components/PromptTuningForm/PromptTemplateSection/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/PromptTuningForm/PromptTemplateSection/index.spec.tsx rename to web/packages/studio/src/components/PromptTuningForm/PromptTemplateSection/index.test.tsx diff --git a/web/packages/studio/src/components/PromptTuningForm/ToolsSection/components/ToolMetadataPanel.spec.tsx b/web/packages/studio/src/components/PromptTuningForm/ToolsSection/components/ToolMetadataPanel.test.tsx similarity index 100% rename from web/packages/studio/src/components/PromptTuningForm/ToolsSection/components/ToolMetadataPanel.spec.tsx rename to web/packages/studio/src/components/PromptTuningForm/ToolsSection/components/ToolMetadataPanel.test.tsx diff --git a/web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuDefault/index.spec.tsx b/web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuDefault/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuDefault/index.spec.tsx rename to web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuDefault/index.test.tsx diff --git a/web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuRoot/index.spec.tsx b/web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuRoot/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuRoot/index.spec.tsx rename to web/packages/studio/src/components/QuickActionsMenu/QuickActionsMenuRoot/index.test.tsx diff --git a/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/FilesetFilePreviewLink.spec.tsx b/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/FilesetFilePreviewLink.test.tsx similarity index 100% rename from web/packages/studio/src/components/SafeSynthesizerFilesetPreview/FilesetFilePreviewLink.spec.tsx rename to web/packages/studio/src/components/SafeSynthesizerFilesetPreview/FilesetFilePreviewLink.test.tsx diff --git a/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/index.spec.tsx b/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/index.test.tsx similarity index 99% rename from web/packages/studio/src/components/SafeSynthesizerFilesetPreview/index.spec.tsx rename to web/packages/studio/src/components/SafeSynthesizerFilesetPreview/index.test.tsx index d1590ae139..32d64da356 100644 --- a/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/index.spec.tsx +++ b/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/index.test.tsx @@ -308,7 +308,7 @@ describe('SafeSynthesizerFilesetPreview', () => { }); // Note: Data Source Preview functionality is now handled by FilesetFilePreviewLink - // which is tested separately in FilesetFilePreviewLink.spec.tsx + // which is tested separately in FilesetFilePreviewLink.test.tsx describe('Data Source Preview', () => { it('should render FilesetFilePreviewLink for data source', () => { const job = createMockJob(); diff --git a/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.spec.ts b/web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.test.ts similarity index 100% rename from web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.spec.ts rename to web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.test.ts diff --git a/web/packages/studio/src/components/SafeSynthesizerNavigation/index.spec.tsx b/web/packages/studio/src/components/SafeSynthesizerNavigation/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/SafeSynthesizerNavigation/index.spec.tsx rename to web/packages/studio/src/components/SafeSynthesizerNavigation/index.test.tsx diff --git a/web/packages/studio/src/components/UserPopover/index.spec.tsx b/web/packages/studio/src/components/UserPopover/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/UserPopover/index.spec.tsx rename to web/packages/studio/src/components/UserPopover/index.test.tsx diff --git a/web/packages/studio/src/components/ValueWithLabel/index.spec.tsx b/web/packages/studio/src/components/ValueWithLabel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/ValueWithLabel/index.spec.tsx rename to web/packages/studio/src/components/ValueWithLabel/index.test.tsx diff --git a/web/packages/studio/src/components/agents/AgentBlockingInput/EvalConfigBlockingInput.spec.tsx b/web/packages/studio/src/components/agents/AgentBlockingInput/EvalConfigBlockingInput.test.tsx similarity index 100% rename from web/packages/studio/src/components/agents/AgentBlockingInput/EvalConfigBlockingInput.spec.tsx rename to web/packages/studio/src/components/agents/AgentBlockingInput/EvalConfigBlockingInput.test.tsx diff --git a/web/packages/studio/src/components/agents/AgentBlockingInput/ModelSelectBlockingInput.spec.tsx b/web/packages/studio/src/components/agents/AgentBlockingInput/ModelSelectBlockingInput.test.tsx similarity index 100% rename from web/packages/studio/src/components/agents/AgentBlockingInput/ModelSelectBlockingInput.spec.tsx rename to web/packages/studio/src/components/agents/AgentBlockingInput/ModelSelectBlockingInput.test.tsx diff --git a/web/packages/studio/src/components/agents/AgentDecisionInput/index.spec.tsx b/web/packages/studio/src/components/agents/AgentDecisionInput/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/agents/AgentDecisionInput/index.spec.tsx rename to web/packages/studio/src/components/agents/AgentDecisionInput/index.test.tsx diff --git a/web/packages/studio/src/components/common/FilterToolbar/index.spec.tsx b/web/packages/studio/src/components/common/FilterToolbar/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/common/FilterToolbar/index.spec.tsx rename to web/packages/studio/src/components/common/FilterToolbar/index.test.tsx diff --git a/web/packages/studio/src/components/common/SearchBar/index.spec.tsx b/web/packages/studio/src/components/common/SearchBar/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/common/SearchBar/index.spec.tsx rename to web/packages/studio/src/components/common/SearchBar/index.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/AutoSplitNotice.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/AutoSplitNotice.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/AutoSplitNotice.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/AutoSplitNotice.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/index.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/index.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationFilesetSelect/FileValidationPanel/index.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationFilesetSelect/index.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationFilesetSelect/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationFilesetSelect/index.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationFilesetSelect/index.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationHyperparameters/ComputeResources.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationHyperparameters/ComputeResources.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationHyperparameters/ComputeResources.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationHyperparameters/ComputeResources.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationHyperparameters/DpoParameters.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationHyperparameters/DpoParameters.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationHyperparameters/DpoParameters.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationHyperparameters/DpoParameters.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationHyperparameters/GeneralParameters.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationHyperparameters/GeneralParameters.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationHyperparameters/GeneralParameters.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationHyperparameters/GeneralParameters.test.tsx diff --git a/web/packages/studio/src/components/customizer/CustomizationHyperparameters/LoraParameters.spec.tsx b/web/packages/studio/src/components/customizer/CustomizationHyperparameters/LoraParameters.test.tsx similarity index 100% rename from web/packages/studio/src/components/customizer/CustomizationHyperparameters/LoraParameters.spec.tsx rename to web/packages/studio/src/components/customizer/CustomizationHyperparameters/LoraParameters.test.tsx diff --git a/web/packages/studio/src/components/dataViews/AgentsDataView/index.spec.tsx b/web/packages/studio/src/components/dataViews/AgentsDataView/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/AgentsDataView/index.spec.tsx rename to web/packages/studio/src/components/dataViews/AgentsDataView/index.test.tsx diff --git a/web/packages/studio/src/components/dataViews/CustomModelsDataView/CustomizeModelButton/index.spec.tsx b/web/packages/studio/src/components/dataViews/CustomModelsDataView/CustomizeModelButton/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/CustomModelsDataView/CustomizeModelButton/index.spec.tsx rename to web/packages/studio/src/components/dataViews/CustomModelsDataView/CustomizeModelButton/index.test.tsx diff --git a/web/packages/studio/src/components/dataViews/CustomModelsDataView/index.spec.tsx b/web/packages/studio/src/components/dataViews/CustomModelsDataView/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/CustomModelsDataView/index.spec.tsx rename to web/packages/studio/src/components/dataViews/CustomModelsDataView/index.test.tsx diff --git a/web/packages/studio/src/components/dataViews/DeploymentsDataView/index.spec.tsx b/web/packages/studio/src/components/dataViews/DeploymentsDataView/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/DeploymentsDataView/index.spec.tsx rename to web/packages/studio/src/components/dataViews/DeploymentsDataView/index.test.tsx diff --git a/web/packages/studio/src/components/dataViews/GuardrailsDataView/GuardrailsDataView.spec.tsx b/web/packages/studio/src/components/dataViews/GuardrailsDataView/GuardrailsDataView.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/GuardrailsDataView/GuardrailsDataView.spec.tsx rename to web/packages/studio/src/components/dataViews/GuardrailsDataView/GuardrailsDataView.test.tsx diff --git a/web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.spec.ts b/web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.test.ts similarity index 100% rename from web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.spec.ts rename to web/packages/studio/src/components/dataViews/GuardrailsDataView/guardrailUtils.test.ts diff --git a/web/packages/studio/src/components/dataViews/InferenceProvidersDataView/index.spec.tsx b/web/packages/studio/src/components/dataViews/InferenceProvidersDataView/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/InferenceProvidersDataView/index.spec.tsx rename to web/packages/studio/src/components/dataViews/InferenceProvidersDataView/index.test.tsx diff --git a/web/packages/studio/src/components/dataViews/JobsDataView/index.spec.tsx b/web/packages/studio/src/components/dataViews/JobsDataView/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/JobsDataView/index.spec.tsx rename to web/packages/studio/src/components/dataViews/JobsDataView/index.test.tsx diff --git a/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.spec.tsx b/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.spec.tsx rename to web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/DeleteJobModal.test.tsx diff --git a/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.spec.ts b/web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.test.ts similarity index 100% rename from web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.spec.ts rename to web/packages/studio/src/components/dataViews/SafeSynthesizerJobsDataView/utils.test.ts diff --git a/web/packages/studio/src/components/dataViews/SecretsDataView/index.spec.tsx b/web/packages/studio/src/components/dataViews/SecretsDataView/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/dataViews/SecretsDataView/index.spec.tsx rename to web/packages/studio/src/components/dataViews/SecretsDataView/index.test.tsx diff --git a/web/packages/studio/src/components/evaluation/ButtonLaunchEvaluation.spec.tsx b/web/packages/studio/src/components/evaluation/ButtonLaunchEvaluation.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/ButtonLaunchEvaluation.spec.tsx rename to web/packages/studio/src/components/evaluation/ButtonLaunchEvaluation.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Configurations/form/InputFile.spec.tsx b/web/packages/studio/src/components/evaluation/Configurations/form/InputFile.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Configurations/form/InputFile.spec.tsx rename to web/packages/studio/src/components/evaluation/Configurations/form/InputFile.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Configurations/form/MetricsCheckboxes.spec.tsx b/web/packages/studio/src/components/evaluation/Configurations/form/MetricsCheckboxes.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Configurations/form/MetricsCheckboxes.spec.tsx rename to web/packages/studio/src/components/evaluation/Configurations/form/MetricsCheckboxes.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Configurations/form/StringCheckInput.spec.tsx b/web/packages/studio/src/components/evaluation/Configurations/form/StringCheckInput.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Configurations/form/StringCheckInput.spec.tsx rename to web/packages/studio/src/components/evaluation/Configurations/form/StringCheckInput.test.tsx diff --git a/web/packages/studio/src/components/evaluation/EvalCard/index.spec.tsx b/web/packages/studio/src/components/evaluation/EvalCard/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/EvalCard/index.spec.tsx rename to web/packages/studio/src/components/evaluation/EvalCard/index.test.tsx diff --git a/web/packages/studio/src/components/evaluation/EvaluationModelSelect.spec.tsx b/web/packages/studio/src/components/evaluation/EvaluationModelSelect.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/EvaluationModelSelect.spec.tsx rename to web/packages/studio/src/components/evaluation/EvaluationModelSelect.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/ActionMenu.spec.tsx b/web/packages/studio/src/components/evaluation/Jobs/ActionMenu.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/ActionMenu.spec.tsx rename to web/packages/studio/src/components/evaluation/Jobs/ActionMenu.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/ComparisonPanel.spec.tsx b/web/packages/studio/src/components/evaluation/Jobs/ComparisonPanel.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/ComparisonPanel.spec.tsx rename to web/packages/studio/src/components/evaluation/Jobs/ComparisonPanel.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/DetailsPanel.spec.tsx b/web/packages/studio/src/components/evaluation/Jobs/DetailsPanel.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/DetailsPanel.spec.tsx rename to web/packages/studio/src/components/evaluation/Jobs/DetailsPanel.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/EvaluationJobBulkDeleteModal.spec.tsx b/web/packages/studio/src/components/evaluation/Jobs/EvaluationJobBulkDeleteModal.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/EvaluationJobBulkDeleteModal.spec.tsx rename to web/packages/studio/src/components/evaluation/Jobs/EvaluationJobBulkDeleteModal.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/form/MetricTypeSection.spec.tsx b/web/packages/studio/src/components/evaluation/Jobs/form/MetricTypeSection.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/form/MetricTypeSection.spec.tsx rename to web/packages/studio/src/components/evaluation/Jobs/form/MetricTypeSection.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/form/ScoreModal.spec.tsx b/web/packages/studio/src/components/evaluation/Jobs/form/ScoreModal.test.tsx similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/form/ScoreModal.spec.tsx rename to web/packages/studio/src/components/evaluation/Jobs/form/ScoreModal.test.tsx diff --git a/web/packages/studio/src/components/evaluation/Jobs/form/utils.spec.ts b/web/packages/studio/src/components/evaluation/Jobs/form/utils.test.ts similarity index 100% rename from web/packages/studio/src/components/evaluation/Jobs/form/utils.spec.ts rename to web/packages/studio/src/components/evaluation/Jobs/form/utils.test.ts diff --git a/web/packages/studio/src/components/filesets/AddToFolderModal/index.spec.tsx b/web/packages/studio/src/components/filesets/AddToFolderModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/filesets/AddToFolderModal/index.spec.tsx rename to web/packages/studio/src/components/filesets/AddToFolderModal/index.test.tsx diff --git a/web/packages/studio/src/components/filesets/FilesetFileExplorer/BulkDeleteModal/index.spec.tsx b/web/packages/studio/src/components/filesets/FilesetFileExplorer/BulkDeleteModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/filesets/FilesetFileExplorer/BulkDeleteModal/index.spec.tsx rename to web/packages/studio/src/components/filesets/FilesetFileExplorer/BulkDeleteModal/index.test.tsx diff --git a/web/packages/studio/src/components/filesets/FilesetFileExplorer/DatasetFileDropzone/index.spec.tsx b/web/packages/studio/src/components/filesets/FilesetFileExplorer/DatasetFileDropzone/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/filesets/FilesetFileExplorer/DatasetFileDropzone/index.spec.tsx rename to web/packages/studio/src/components/filesets/FilesetFileExplorer/DatasetFileDropzone/index.test.tsx diff --git a/web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileActions.spec.ts b/web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileActions.test.ts similarity index 100% rename from web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileActions.spec.ts rename to web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileActions.test.ts diff --git a/web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileSelection.spec.ts b/web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileSelection.test.ts similarity index 100% rename from web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileSelection.spec.ts rename to web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileSelection.test.ts diff --git a/web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileUpload.spec.ts b/web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileUpload.test.ts similarity index 100% rename from web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileUpload.spec.ts rename to web/packages/studio/src/components/filesets/FilesetFileExplorer/hooks/useFileUpload.test.ts diff --git a/web/packages/studio/src/components/filesets/FilesetFileExplorer/index.spec.tsx b/web/packages/studio/src/components/filesets/FilesetFileExplorer/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/filesets/FilesetFileExplorer/index.spec.tsx rename to web/packages/studio/src/components/filesets/FilesetFileExplorer/index.test.tsx diff --git a/web/packages/studio/src/components/filesets/hooks/useBulkDownload.spec.ts b/web/packages/studio/src/components/filesets/hooks/useBulkDownload.test.ts similarity index 100% rename from web/packages/studio/src/components/filesets/hooks/useBulkDownload.spec.ts rename to web/packages/studio/src/components/filesets/hooks/useBulkDownload.test.ts diff --git a/web/packages/studio/src/components/filesets/hooks/useBulkDuplicate.spec.ts b/web/packages/studio/src/components/filesets/hooks/useBulkDuplicate.test.ts similarity index 100% rename from web/packages/studio/src/components/filesets/hooks/useBulkDuplicate.spec.ts rename to web/packages/studio/src/components/filesets/hooks/useBulkDuplicate.test.ts diff --git a/web/packages/studio/src/components/filesets/hooks/useDownloadFileAsArrayBuffer.spec.ts b/web/packages/studio/src/components/filesets/hooks/useDownloadFileAsArrayBuffer.test.ts similarity index 100% rename from web/packages/studio/src/components/filesets/hooks/useDownloadFileAsArrayBuffer.spec.ts rename to web/packages/studio/src/components/filesets/hooks/useDownloadFileAsArrayBuffer.test.ts diff --git a/web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/index.spec.tsx b/web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/index.spec.tsx rename to web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/index.test.tsx diff --git a/web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthrough.spec.ts b/web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthrough.test.ts similarity index 100% rename from web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthrough.spec.ts rename to web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthrough.test.ts diff --git a/web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthroughStorage.spec.ts b/web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthroughStorage.test.ts similarity index 100% rename from web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthroughStorage.spec.ts rename to web/packages/studio/src/components/sidePanels/AgentPanels/AgentPanel/walkthroughStorage.test.ts diff --git a/web/packages/studio/src/components/sidePanels/CustomizationConfigSidePanel/index.spec.tsx b/web/packages/studio/src/components/sidePanels/CustomizationConfigSidePanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/sidePanels/CustomizationConfigSidePanel/index.spec.tsx rename to web/packages/studio/src/components/sidePanels/CustomizationConfigSidePanel/index.test.tsx diff --git a/web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/index.spec.tsx b/web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/index.spec.tsx rename to web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/index.test.tsx diff --git a/web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/utils.spec.ts b/web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/utils.test.ts similarity index 100% rename from web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/utils.spec.ts rename to web/packages/studio/src/components/sidePanels/MetricRunSidePanel/FileValidationPanel/utils.test.ts diff --git a/web/packages/studio/src/components/sidePanels/MetricRunSidePanel/utils.spec.ts b/web/packages/studio/src/components/sidePanels/MetricRunSidePanel/utils.test.ts similarity index 100% rename from web/packages/studio/src/components/sidePanels/MetricRunSidePanel/utils.spec.ts rename to web/packages/studio/src/components/sidePanels/MetricRunSidePanel/utils.test.ts diff --git a/web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/components.spec.tsx b/web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/components.test.tsx similarity index 100% rename from web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/components.spec.tsx rename to web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/components.test.tsx diff --git a/web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/index.spec.tsx b/web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/index.spec.tsx rename to web/packages/studio/src/components/sidePanels/ModelPanels/ModelPanel/index.test.tsx diff --git a/web/packages/studio/src/components/sidePanels/PromptTuningPanel/index.spec.tsx b/web/packages/studio/src/components/sidePanels/PromptTuningPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/components/sidePanels/PromptTuningPanel/index.spec.tsx rename to web/packages/studio/src/components/sidePanels/PromptTuningPanel/index.test.tsx diff --git a/web/packages/studio/src/constants/featureFlags/utils.spec.ts b/web/packages/studio/src/constants/featureFlags/utils.test.ts similarity index 100% rename from web/packages/studio/src/constants/featureFlags/utils.spec.ts rename to web/packages/studio/src/constants/featureFlags/utils.test.ts diff --git a/web/packages/studio/src/constants/sampleDatasets.spec.ts b/web/packages/studio/src/constants/sampleDatasets.test.ts similarity index 100% rename from web/packages/studio/src/constants/sampleDatasets.spec.ts rename to web/packages/studio/src/constants/sampleDatasets.test.ts diff --git a/web/packages/studio/src/constants/zod.spec.ts b/web/packages/studio/src/constants/zod.test.ts similarity index 100% rename from web/packages/studio/src/constants/zod.spec.ts rename to web/packages/studio/src/constants/zod.test.ts diff --git a/web/packages/studio/src/hooks/useCustomizationDatasetValidation/index.spec.tsx b/web/packages/studio/src/hooks/useCustomizationDatasetValidation/index.test.tsx similarity index 100% rename from web/packages/studio/src/hooks/useCustomizationDatasetValidation/index.spec.tsx rename to web/packages/studio/src/hooks/useCustomizationDatasetValidation/index.test.tsx diff --git a/web/packages/studio/src/hooks/useDatasetFileDiscovery/index.spec.ts b/web/packages/studio/src/hooks/useDatasetFileDiscovery/index.test.ts similarity index 100% rename from web/packages/studio/src/hooks/useDatasetFileDiscovery/index.spec.ts rename to web/packages/studio/src/hooks/useDatasetFileDiscovery/index.test.ts diff --git a/web/packages/studio/src/hooks/useModelCustomizationEligibility/index.spec.tsx b/web/packages/studio/src/hooks/useModelCustomizationEligibility/index.test.tsx similarity index 100% rename from web/packages/studio/src/hooks/useModelCustomizationEligibility/index.spec.tsx rename to web/packages/studio/src/hooks/useModelCustomizationEligibility/index.test.tsx diff --git a/web/packages/studio/src/hooks/useModelIsServed/index.spec.tsx b/web/packages/studio/src/hooks/useModelIsServed/index.test.tsx similarity index 100% rename from web/packages/studio/src/hooks/useModelIsServed/index.spec.tsx rename to web/packages/studio/src/hooks/useModelIsServed/index.test.tsx diff --git a/web/packages/studio/src/hooks/useModelLoraEnabled/index.spec.ts b/web/packages/studio/src/hooks/useModelLoraEnabled/index.test.ts similarity index 100% rename from web/packages/studio/src/hooks/useModelLoraEnabled/index.spec.ts rename to web/packages/studio/src/hooks/useModelLoraEnabled/index.test.ts diff --git a/web/packages/studio/src/main.spec.tsx b/web/packages/studio/src/main.test.tsx similarity index 100% rename from web/packages/studio/src/main.spec.tsx rename to web/packages/studio/src/main.test.tsx diff --git a/web/packages/studio/src/providers/auth/useAuthTokenStatus.spec.ts b/web/packages/studio/src/providers/auth/useAuthTokenStatus.test.ts similarity index 100% rename from web/packages/studio/src/providers/auth/useAuthTokenStatus.spec.ts rename to web/packages/studio/src/providers/auth/useAuthTokenStatus.test.ts diff --git a/web/packages/studio/src/routes/CustomizationJobDetailsRoute/DetailActions.spec.tsx b/web/packages/studio/src/routes/CustomizationJobDetailsRoute/DetailActions.test.tsx similarity index 100% rename from web/packages/studio/src/routes/CustomizationJobDetailsRoute/DetailActions.spec.tsx rename to web/packages/studio/src/routes/CustomizationJobDetailsRoute/DetailActions.test.tsx diff --git a/web/packages/studio/src/routes/CustomizationJobDetailsRoute/index.spec.tsx b/web/packages/studio/src/routes/CustomizationJobDetailsRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/CustomizationJobDetailsRoute/index.spec.tsx rename to web/packages/studio/src/routes/CustomizationJobDetailsRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/DashboardLandingRoute/index.spec.tsx b/web/packages/studio/src/routes/DashboardLandingRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/DashboardLandingRoute/index.spec.tsx rename to web/packages/studio/src/routes/DashboardLandingRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/DashboardLandingRoute/skillActionTemplates.spec.ts b/web/packages/studio/src/routes/DashboardLandingRoute/skillActionTemplates.test.ts similarity index 100% rename from web/packages/studio/src/routes/DashboardLandingRoute/skillActionTemplates.spec.ts rename to web/packages/studio/src/routes/DashboardLandingRoute/skillActionTemplates.test.ts diff --git a/web/packages/studio/src/routes/DashboardLandingRoute/skillDisplayName.spec.ts b/web/packages/studio/src/routes/DashboardLandingRoute/skillDisplayName.test.ts similarity index 100% rename from web/packages/studio/src/routes/DashboardLandingRoute/skillDisplayName.spec.ts rename to web/packages/studio/src/routes/DashboardLandingRoute/skillDisplayName.test.ts diff --git a/web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/schema.spec.ts b/web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/schema.test.ts similarity index 100% rename from web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/schema.spec.ts rename to web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/schema.test.ts diff --git a/web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/useCreateDeploymentBySource.spec.tsx b/web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/useCreateDeploymentBySource.test.tsx similarity index 100% rename from web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/useCreateDeploymentBySource.spec.tsx rename to web/packages/studio/src/routes/DeploymentsListRoute/CreateDeploymentSidePanel/useCreateDeploymentBySource.test.tsx diff --git a/web/packages/studio/src/routes/DeploymentsListRoute/useDeleteDeploymentAndConfig.spec.tsx b/web/packages/studio/src/routes/DeploymentsListRoute/useDeleteDeploymentAndConfig.test.tsx similarity index 100% rename from web/packages/studio/src/routes/DeploymentsListRoute/useDeleteDeploymentAndConfig.spec.tsx rename to web/packages/studio/src/routes/DeploymentsListRoute/useDeleteDeploymentAndConfig.test.tsx diff --git a/web/packages/studio/src/routes/FilesetDetailRoute/DatasetSchemaEditor/index.spec.tsx b/web/packages/studio/src/routes/FilesetDetailRoute/DatasetSchemaEditor/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetDetailRoute/DatasetSchemaEditor/index.spec.tsx rename to web/packages/studio/src/routes/FilesetDetailRoute/DatasetSchemaEditor/index.test.tsx diff --git a/web/packages/studio/src/routes/FilesetDetailRoute/FilesTab/schemaColumn.spec.ts b/web/packages/studio/src/routes/FilesetDetailRoute/FilesTab/schemaColumn.test.ts similarity index 100% rename from web/packages/studio/src/routes/FilesetDetailRoute/FilesTab/schemaColumn.spec.ts rename to web/packages/studio/src/routes/FilesetDetailRoute/FilesTab/schemaColumn.test.ts diff --git a/web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/DatasetSamplePanel.spec.tsx b/web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/DatasetSamplePanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/DatasetSamplePanel.spec.tsx rename to web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/DatasetSamplePanel.test.tsx diff --git a/web/packages/studio/src/routes/FilesetDetailRoute/FilesetMetadataPanel/utils.spec.tsx b/web/packages/studio/src/routes/FilesetDetailRoute/FilesetMetadataPanel/utils.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetDetailRoute/FilesetMetadataPanel/utils.spec.tsx rename to web/packages/studio/src/routes/FilesetDetailRoute/FilesetMetadataPanel/utils.test.tsx diff --git a/web/packages/studio/src/routes/FilesetDetailRoute/index.spec.tsx b/web/packages/studio/src/routes/FilesetDetailRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetDetailRoute/index.spec.tsx rename to web/packages/studio/src/routes/FilesetDetailRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/FilesetDetailRoute/utils.spec.ts b/web/packages/studio/src/routes/FilesetDetailRoute/utils.test.ts similarity index 100% rename from web/packages/studio/src/routes/FilesetDetailRoute/utils.spec.ts rename to web/packages/studio/src/routes/FilesetDetailRoute/utils.test.ts diff --git a/web/packages/studio/src/routes/FilesetListRoute/ActionMenu/index.spec.tsx b/web/packages/studio/src/routes/FilesetListRoute/ActionMenu/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetListRoute/ActionMenu/index.spec.tsx rename to web/packages/studio/src/routes/FilesetListRoute/ActionMenu/index.test.tsx diff --git a/web/packages/studio/src/routes/FilesetListRoute/DatasetBulkDeleteModal/index.spec.tsx b/web/packages/studio/src/routes/FilesetListRoute/DatasetBulkDeleteModal/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetListRoute/DatasetBulkDeleteModal/index.spec.tsx rename to web/packages/studio/src/routes/FilesetListRoute/DatasetBulkDeleteModal/index.test.tsx diff --git a/web/packages/studio/src/routes/FilesetListRoute/index.spec.tsx b/web/packages/studio/src/routes/FilesetListRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetListRoute/index.spec.tsx rename to web/packages/studio/src/routes/FilesetListRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/FilesetNewRoute/index.spec.tsx b/web/packages/studio/src/routes/FilesetNewRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/FilesetNewRoute/index.spec.tsx rename to web/packages/studio/src/routes/FilesetNewRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/InferenceModelProviderSelect.spec.tsx b/web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/InferenceModelProviderSelect.test.tsx similarity index 100% rename from web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/InferenceModelProviderSelect.spec.tsx rename to web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/InferenceModelProviderSelect.test.tsx diff --git a/web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/index.spec.tsx b/web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/index.spec.tsx rename to web/packages/studio/src/routes/InferenceProvidersListRoute/CreateInferenceProviderSidePanel/index.test.tsx diff --git a/web/packages/studio/src/routes/InferenceProvidersListRoute/InferenceProviderDetailsSidePanel/index.spec.tsx b/web/packages/studio/src/routes/InferenceProvidersListRoute/InferenceProviderDetailsSidePanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/InferenceProvidersListRoute/InferenceProviderDetailsSidePanel/index.spec.tsx rename to web/packages/studio/src/routes/InferenceProvidersListRoute/InferenceProviderDetailsSidePanel/index.test.tsx diff --git a/web/packages/studio/src/routes/IntakeTraceDetailRoute/index.spec.tsx b/web/packages/studio/src/routes/IntakeTraceDetailRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/IntakeTraceDetailRoute/index.spec.tsx rename to web/packages/studio/src/routes/IntakeTraceDetailRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/JobDetailRoute/utils.spec.ts b/web/packages/studio/src/routes/JobDetailRoute/utils.test.ts similarity index 100% rename from web/packages/studio/src/routes/JobDetailRoute/utils.spec.ts rename to web/packages/studio/src/routes/JobDetailRoute/utils.test.ts diff --git a/web/packages/studio/src/routes/NewCustomizationRoute/index.spec.tsx b/web/packages/studio/src/routes/NewCustomizationRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/NewCustomizationRoute/index.spec.tsx rename to web/packages/studio/src/routes/NewCustomizationRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/NoMatchRoute/index.spec.tsx b/web/packages/studio/src/routes/NoMatchRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/NoMatchRoute/index.spec.tsx rename to web/packages/studio/src/routes/NoMatchRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/PageLayout/ThemeSwitch.spec.tsx b/web/packages/studio/src/routes/PageLayout/ThemeSwitch.test.tsx similarity index 100% rename from web/packages/studio/src/routes/PageLayout/ThemeSwitch.spec.tsx rename to web/packages/studio/src/routes/PageLayout/ThemeSwitch.test.tsx diff --git a/web/packages/studio/src/routes/PromptTuningFormRoute/index.spec.tsx b/web/packages/studio/src/routes/PromptTuningFormRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/PromptTuningFormRoute/index.spec.tsx rename to web/packages/studio/src/routes/PromptTuningFormRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/PromptTuningFormRoute/util.spec.ts b/web/packages/studio/src/routes/PromptTuningFormRoute/util.test.ts similarity index 100% rename from web/packages/studio/src/routes/PromptTuningFormRoute/util.spec.ts rename to web/packages/studio/src/routes/PromptTuningFormRoute/util.test.ts diff --git a/web/packages/studio/src/routes/RootLayout/WorkspaceGuard.spec.tsx b/web/packages/studio/src/routes/RootLayout/WorkspaceGuard.test.tsx similarity index 100% rename from web/packages/studio/src/routes/RootLayout/WorkspaceGuard.spec.tsx rename to web/packages/studio/src/routes/RootLayout/WorkspaceGuard.test.tsx diff --git a/web/packages/studio/src/routes/RootRedirect/index.spec.tsx b/web/packages/studio/src/routes/RootRedirect/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/RootRedirect/index.spec.tsx rename to web/packages/studio/src/routes/RootRedirect/index.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobConfigDrawer.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobConfigDrawer.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobConfigDrawer.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobConfigDrawer.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobDetailsPanel.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobDetailsPanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobDetailsPanel.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/JobDetailsPanel.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ProgressSection.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ProgressSection.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ProgressSection.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ProgressSection.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ReportSummaryPanel.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ReportSummaryPanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ReportSummaryPanel.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/components/ReportSummaryPanel.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/index.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/index.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.spec.ts b/web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.test.ts similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.spec.ts rename to web/packages/studio/src/routes/SafeSynthesizerJobDetailsRoute/util.test.ts diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/OverviewPanel.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/OverviewPanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/OverviewPanel.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/OverviewPanel.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/DataPrivacyPanel.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/DataPrivacyPanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/DataPrivacyPanel.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/DataPrivacyPanel.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/ScoreItem.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/ScoreItem.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/ScoreItem.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/ScoreItem.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/SyntheticQualityPanel.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/SyntheticQualityPanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/SyntheticQualityPanel.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/components/ScorePanels/SyntheticQualityPanel.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/index.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/index.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/util.spec.ts b/web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/util.test.ts similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/util.spec.ts rename to web/packages/studio/src/routes/SafeSynthesizerJobReportRoute/util.test.ts diff --git a/web/packages/studio/src/routes/SafeSynthesizerListRoute/index.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerListRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerListRoute/index.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerListRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.spec.ts b/web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.test.ts similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.spec.ts rename to web/packages/studio/src/routes/SafeSynthesizerListRoute/utils.test.ts diff --git a/web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerNewRoute/components/AdvancedParameters.test.tsx diff --git a/web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.spec.tsx b/web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.spec.tsx rename to web/packages/studio/src/routes/SafeSynthesizerNewRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/WorkspaceBaseModelsRoute/index.spec.tsx b/web/packages/studio/src/routes/WorkspaceBaseModelsRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/WorkspaceBaseModelsRoute/index.spec.tsx rename to web/packages/studio/src/routes/WorkspaceBaseModelsRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/WorkspaceDashboardRoute/index.spec.tsx b/web/packages/studio/src/routes/WorkspaceDashboardRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/WorkspaceDashboardRoute/index.spec.tsx rename to web/packages/studio/src/routes/WorkspaceDashboardRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/WorkspaceMembersRoute/WorkspaceMemberModal.spec.tsx b/web/packages/studio/src/routes/WorkspaceMembersRoute/WorkspaceMemberModal.test.tsx similarity index 100% rename from web/packages/studio/src/routes/WorkspaceMembersRoute/WorkspaceMemberModal.spec.tsx rename to web/packages/studio/src/routes/WorkspaceMembersRoute/WorkspaceMemberModal.test.tsx diff --git a/web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.spec.tsx b/web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.spec.tsx rename to web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.test.tsx diff --git a/web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationsListRoute.spec.tsx b/web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationsListRoute.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationsListRoute.spec.tsx rename to web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationsListRoute.test.tsx diff --git a/web/packages/studio/src/routes/agents/AgentEvaluationsRoute/api.spec.ts b/web/packages/studio/src/routes/agents/AgentEvaluationsRoute/api.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/AgentEvaluationsRoute/api.spec.ts rename to web/packages/studio/src/routes/agents/AgentEvaluationsRoute/api.test.ts diff --git a/web/packages/studio/src/routes/agents/AgentMonitorRoute/telemetry.spec.ts b/web/packages/studio/src/routes/agents/AgentMonitorRoute/telemetry.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/AgentMonitorRoute/telemetry.spec.ts rename to web/packages/studio/src/routes/agents/AgentMonitorRoute/telemetry.test.ts diff --git a/web/packages/studio/src/routes/agents/AgentMonitorRoute/utils.spec.ts b/web/packages/studio/src/routes/agents/AgentMonitorRoute/utils.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/AgentMonitorRoute/utils.spec.ts rename to web/packages/studio/src/routes/agents/AgentMonitorRoute/utils.test.ts diff --git a/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.read.spec.ts b/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.read.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.read.spec.ts rename to web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.read.test.ts diff --git a/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.spec.ts b/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.spec.ts rename to web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.test.ts diff --git a/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.spec.tsx b/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.spec.tsx rename to web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.test.tsx diff --git a/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.spec.ts b/web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.spec.ts rename to web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.test.ts diff --git a/web/packages/studio/src/routes/agents/AgentsListRoute/index.spec.tsx b/web/packages/studio/src/routes/agents/AgentsListRoute/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/AgentsListRoute/index.spec.tsx rename to web/packages/studio/src/routes/agents/AgentsListRoute/index.test.tsx diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/BlockingInputComposer.spec.tsx b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/BlockingInputComposer.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/BlockingInputComposer.spec.tsx rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/BlockingInputComposer.test.tsx diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeHistoryPanel.spec.tsx b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeHistoryPanel.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeHistoryPanel.spec.tsx rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeHistoryPanel.test.tsx diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeStudioLink.spec.tsx b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeStudioLink.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeStudioLink.spec.tsx rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeStudioLink.test.tsx diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeToolCallPart.spec.tsx b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeToolCallPart.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeToolCallPart.spec.tsx rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/ClaudeCodeToolCallPart.test.tsx diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/JobProgressToolCall.spec.tsx b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/JobProgressToolCall.test.tsx similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/JobProgressToolCall.spec.tsx rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/JobProgressToolCall.test.tsx diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/api.spec.ts b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/api.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/api.spec.ts rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/api.test.ts diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/stream.spec.ts b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/stream.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/stream.spec.ts rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/stream.test.ts diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useClaudeCodeChatRuntime.spec.ts b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useClaudeCodeChatRuntime.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useClaudeCodeChatRuntime.spec.ts rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useClaudeCodeChatRuntime.test.ts diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useCustomAssistantChatRuntime.spec.ts b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useCustomAssistantChatRuntime.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useCustomAssistantChatRuntime.spec.ts rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/useCustomAssistantChatRuntime.test.ts diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/util.spec.ts b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/util.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/util.spec.ts rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/util.test.ts diff --git a/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/utils/jobProgress.spec.ts b/web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/utils/jobProgress.test.ts similarity index 100% rename from web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/utils/jobProgress.spec.ts rename to web/packages/studio/src/routes/agents/ClaudeCodeChatRoute/utils/jobProgress.test.ts diff --git a/web/packages/studio/src/routes/guardrails/GuardrailsDetailPanel/index.spec.tsx b/web/packages/studio/src/routes/guardrails/GuardrailsDetailPanel/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/guardrails/GuardrailsDetailPanel/index.spec.tsx rename to web/packages/studio/src/routes/guardrails/GuardrailsDetailPanel/index.test.tsx diff --git a/web/packages/studio/src/routes/index.spec.tsx b/web/packages/studio/src/routes/index.test.tsx similarity index 100% rename from web/packages/studio/src/routes/index.spec.tsx rename to web/packages/studio/src/routes/index.test.tsx diff --git a/web/packages/studio/src/routes/utils.spec.ts b/web/packages/studio/src/routes/utils.test.ts similarity index 100% rename from web/packages/studio/src/routes/utils.spec.ts rename to web/packages/studio/src/routes/utils.test.ts diff --git a/web/packages/studio/src/selectors/evaluationConfig.spec.ts b/web/packages/studio/src/selectors/evaluationConfig.test.ts similarity index 100% rename from web/packages/studio/src/selectors/evaluationConfig.spec.ts rename to web/packages/studio/src/selectors/evaluationConfig.test.ts diff --git a/web/packages/studio/src/telemetry/util.spec.ts b/web/packages/studio/src/telemetry/util.test.ts similarity index 100% rename from web/packages/studio/src/telemetry/util.spec.ts rename to web/packages/studio/src/telemetry/util.test.ts diff --git a/web/packages/studio/src/tests/clone-a-model.spec.tsx b/web/packages/studio/src/tests/clone-a-model.test.tsx similarity index 100% rename from web/packages/studio/src/tests/clone-a-model.spec.tsx rename to web/packages/studio/src/tests/clone-a-model.test.tsx diff --git a/web/packages/studio/src/tests/create-a-customization.spec.tsx b/web/packages/studio/src/tests/create-a-customization.test.tsx similarity index 100% rename from web/packages/studio/src/tests/create-a-customization.spec.tsx rename to web/packages/studio/src/tests/create-a-customization.test.tsx diff --git a/web/packages/studio/src/tests/create-a-model.spec.tsx b/web/packages/studio/src/tests/create-a-model.test.tsx similarity index 100% rename from web/packages/studio/src/tests/create-a-model.spec.tsx rename to web/packages/studio/src/tests/create-a-model.test.tsx diff --git a/web/packages/studio/src/tests/title-change.spec.tsx b/web/packages/studio/src/tests/title-change.test.tsx similarity index 100% rename from web/packages/studio/src/tests/title-change.spec.tsx rename to web/packages/studio/src/tests/title-change.test.tsx diff --git a/web/packages/studio/src/util/__tests__/tablePaginationSort.spec.ts b/web/packages/studio/src/util/__tests__/tablePaginationSort.test.ts similarity index 100% rename from web/packages/studio/src/util/__tests__/tablePaginationSort.spec.ts rename to web/packages/studio/src/util/__tests__/tablePaginationSort.test.ts diff --git a/web/packages/studio/src/util/csrf.spec.ts b/web/packages/studio/src/util/csrf.test.ts similarity index 100% rename from web/packages/studio/src/util/csrf.spec.ts rename to web/packages/studio/src/util/csrf.test.ts diff --git a/web/packages/studio/src/util/customizations.spec.ts b/web/packages/studio/src/util/customizations.test.ts similarity index 100% rename from web/packages/studio/src/util/customizations.spec.ts rename to web/packages/studio/src/util/customizations.test.ts diff --git a/web/packages/studio/src/util/customizerSchema.spec.ts b/web/packages/studio/src/util/customizerSchema.test.ts similarity index 100% rename from web/packages/studio/src/util/customizerSchema.spec.ts rename to web/packages/studio/src/util/customizerSchema.test.ts diff --git a/web/packages/studio/src/util/date.spec.ts b/web/packages/studio/src/util/date.test.ts similarity index 100% rename from web/packages/studio/src/util/date.spec.ts rename to web/packages/studio/src/util/date.test.ts diff --git a/web/packages/studio/src/util/evaluations.spec.ts b/web/packages/studio/src/util/evaluations.test.ts similarity index 100% rename from web/packages/studio/src/util/evaluations.spec.ts rename to web/packages/studio/src/util/evaluations.test.ts diff --git a/web/packages/studio/src/util/files.spec.ts b/web/packages/studio/src/util/files.test.ts similarity index 100% rename from web/packages/studio/src/util/files.spec.ts rename to web/packages/studio/src/util/files.test.ts diff --git a/web/packages/studio/src/util/forms/customization.spec.ts b/web/packages/studio/src/util/forms/customization.test.ts similarity index 100% rename from web/packages/studio/src/util/forms/customization.spec.ts rename to web/packages/studio/src/util/forms/customization.test.ts diff --git a/web/packages/studio/src/util/forms/error.spec.ts b/web/packages/studio/src/util/forms/error.test.ts similarity index 100% rename from web/packages/studio/src/util/forms/error.spec.ts rename to web/packages/studio/src/util/forms/error.test.ts diff --git a/web/packages/studio/src/util/forms/transforms.spec.ts b/web/packages/studio/src/util/forms/transforms.test.ts similarity index 100% rename from web/packages/studio/src/util/forms/transforms.spec.ts rename to web/packages/studio/src/util/forms/transforms.test.ts diff --git a/web/packages/studio/src/util/functions.spec.ts b/web/packages/studio/src/util/functions.test.ts similarity index 100% rename from web/packages/studio/src/util/functions.spec.ts rename to web/packages/studio/src/util/functions.test.ts diff --git a/web/packages/studio/src/util/hooks/useSessionStorage.spec.ts b/web/packages/studio/src/util/hooks/useSessionStorage.test.ts similarity index 100% rename from web/packages/studio/src/util/hooks/useSessionStorage.spec.ts rename to web/packages/studio/src/util/hooks/useSessionStorage.test.ts diff --git a/web/packages/studio/src/util/intakeTelemetry.spec.ts b/web/packages/studio/src/util/intakeTelemetry.test.ts similarity index 100% rename from web/packages/studio/src/util/intakeTelemetry.spec.ts rename to web/packages/studio/src/util/intakeTelemetry.test.ts diff --git a/web/packages/studio/src/util/list.spec.ts b/web/packages/studio/src/util/list.test.ts similarity index 100% rename from web/packages/studio/src/util/list.spec.ts rename to web/packages/studio/src/util/list.test.ts diff --git a/web/packages/studio/src/util/llm.spec.ts b/web/packages/studio/src/util/llm.test.ts similarity index 100% rename from web/packages/studio/src/util/llm.spec.ts rename to web/packages/studio/src/util/llm.test.ts diff --git a/web/packages/studio/src/util/logger.spec.ts b/web/packages/studio/src/util/logger.test.ts similarity index 100% rename from web/packages/studio/src/util/logger.spec.ts rename to web/packages/studio/src/util/logger.test.ts diff --git a/web/packages/studio/src/util/models.spec.ts b/web/packages/studio/src/util/models.test.ts similarity index 100% rename from web/packages/studio/src/util/models.spec.ts rename to web/packages/studio/src/util/models.test.ts diff --git a/web/packages/studio/src/util/sseStream.spec.ts b/web/packages/studio/src/util/sseStream.test.ts similarity index 100% rename from web/packages/studio/src/util/sseStream.spec.ts rename to web/packages/studio/src/util/sseStream.test.ts diff --git a/web/packages/studio/src/util/storageConfigFromUrl.spec.ts b/web/packages/studio/src/util/storageConfigFromUrl.test.ts similarity index 100% rename from web/packages/studio/src/util/storageConfigFromUrl.spec.ts rename to web/packages/studio/src/util/storageConfigFromUrl.test.ts diff --git a/web/packages/studio/src/util/strings.spec.ts b/web/packages/studio/src/util/strings.test.ts similarity index 100% rename from web/packages/studio/src/util/strings.spec.ts rename to web/packages/studio/src/util/strings.test.ts From aa808bacee5412035ca80decf4c6fd6301cdff2c Mon Sep 17 00:00:00 2001 From: Sean Teramae Date: Fri, 12 Jun 2026 17:10:10 -0700 Subject: [PATCH 4/5] add lint rule Signed-off-by: Sean Teramae --- web/eslint-plugins/test-naming.js | 31 +++++++++++++++++++++++++++++++ web/eslint.config.js | 8 +++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 web/eslint-plugins/test-naming.js diff --git a/web/eslint-plugins/test-naming.js b/web/eslint-plugins/test-naming.js new file mode 100644 index 0000000000..1bd4620361 --- /dev/null +++ b/web/eslint-plugins/test-naming.js @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +/** @type {import('eslint').Rule.RuleModule} */ +const noSpecSuffix = { + meta: { + type: 'suggestion', + docs: { description: 'Enforce .test. suffix; disallow .spec.' }, + }, + create(context) { + const filename = context.filename ?? context.getFilename?.(); + if (/\.spec\.[jt]sx?$/.test(filename)) { + return { + Program(node) { + context.report({ + node, + message: 'Use .test. suffix instead of .spec. (rename to *.test.ts / *.test.tsx).', + }); + }, + }; + } + return {}; + }, +}; + +/** @type {import('eslint').ESLint.Plugin} */ +export default { + rules: { + 'no-spec-suffix': noSpecSuffix, + }, +}; diff --git a/web/eslint.config.js b/web/eslint.config.js index 41b2c2cec5..cff2e33119 100644 --- a/web/eslint.config.js +++ b/web/eslint.config.js @@ -16,6 +16,7 @@ import noOnlyTestsPlugin from 'eslint-plugin-no-only-tests'; import testingLibrary from 'eslint-plugin-testing-library'; import vitest from '@vitest/eslint-plugin'; import tseslint from 'typescript-eslint'; +import testNamingPlugin from './eslint-plugins/test-naming.js'; const pathPrefix = ''; @@ -175,8 +176,13 @@ export default [ // Handles tests { files: [`${pathPrefix}**/src/**/*.{test,spec}.{js,jsx,ts,tsx}`], - plugins: { vitest, ...testingLibrary.configs['flat/react'].plugins }, + plugins: { + vitest, + ...testingLibrary.configs['flat/react'].plugins, + 'test-naming': testNamingPlugin, + }, rules: { + 'test-naming/no-spec-suffix': 'error', ...testingLibrary.configs['flat/react'].rules, 'vitest/consistent-test-it': ['error', { fn: 'it' }], 'testing-library/no-debugging-utils': 'error', From 9c86124182a12ddf34754682bd545a95436dbc0b Mon Sep 17 00:00:00 2001 From: Sean Teramae Date: Fri, 12 Jun 2026 17:18:32 -0700 Subject: [PATCH 5/5] fix more naming Signed-off-by: Sean Teramae --- ...ataset-file-utils.spec.ts => dataset-file-utils.test.ts} | 0 ...elIds.spec.tsx => usePromptTunableBaseModelIds.test.tsx} | 0 .../src/api/{useBatchGet.spec.tsx => useBatchGet.test.tsx} | 0 .../{completionUtils.spec.ts => completionUtils.test.ts} | 0 .../AssistantChat/{index.spec.tsx => index.test.tsx} | 0 .../{messageUtils.spec.ts => messageUtils.test.ts} | 0 .../Chat/MessageContent/{index.spec.tsx => index.test.tsx} | 0 .../ChatCompletionInput/{index.spec.tsx => index.test.tsx} | 0 .../CodeDisplay/{index.spec.tsx => index.test.tsx} | 0 .../extensions/{useLinter.spec.ts => useLinter.test.ts} | 0 .../CodeEditor/util/{editor.spec.ts => editor.test.ts} | 0 ...olumnFilterPanel.spec.tsx => ColumnFilterPanel.test.tsx} | 0 .../{CustomFilter.spec.tsx => CustomFilter.test.tsx} | 0 .../{DateRangeFilter.spec.tsx => DateRangeFilter.test.tsx} | 0 ...ilterPanelToggle.spec.tsx => FilterPanelToggle.test.tsx} | 0 ...ppliedFilters.spec.tsx => StudioAppliedFilters.test.tsx} | 0 .../{StudioDataView.spec.tsx => StudioDataView.test.tsx} | 0 ...Select.spec.tsx => ControlledDatasetFileSelect.test.tsx} | 0 ...atasetFileSelect.spec.tsx => DatasetFileSelect.test.tsx} | 0 .../{useFilePreview.spec.tsx => useFilePreview.test.tsx} | 0 ...ectPath.spec.ts => listPathPrefixFromObjectPath.test.ts} | 0 ...FilesetLocation.spec.ts => parseFilesetLocation.test.ts} | 0 .../DatasetFileSelect/{utils.spec.ts => utils.test.ts} | 0 .../src/components/Dial/{index.spec.tsx => index.test.tsx} | 0 .../ErrorMessage/{index.spec.tsx => index.test.tsx} | 0 ...eContentPreview.spec.tsx => FileContentPreview.test.tsx} | 0 .../FileList/{FileList.spec.tsx => FileList.test.tsx} | 0 .../components/KVPair/{index.spec.tsx => index.test.tsx} | 0 .../LoadingButton/{index.spec.tsx => index.test.tsx} | 0 .../{MarkdownContent.spec.tsx => MarkdownContent.test.tsx} | 0 .../ModelDetailsTooltip/{utils.spec.ts => utils.test.ts} | 0 .../ModelSelect/{index.spec.tsx => index.test.tsx} | 0 ...enceParameters.spec.tsx => InferenceParameters.test.tsx} | 0 .../{ParamsDropdown.spec.tsx => ParamsDropdown.test.tsx} | 0 .../PanelFooterAccordion/{index.spec.tsx => index.test.tsx} | 0 .../RelativeTime/{index.spec.tsx => index.test.tsx} | 0 .../ScrollTable/{index.spec.tsx => index.test.tsx} | 0 ...rWithTextInput.spec.tsx => SliderWithTextInput.test.tsx} | 0 .../{StatusBadge.spec.tsx => StatusBadge.test.tsx} | 0 .../{TableEmptyState.spec.tsx => TableEmptyState.test.tsx} | 0 .../TableHeaderButton/{index.spec.tsx => index.test.tsx} | 0 .../TagOverflowGroup/{index.spec.tsx => index.test.tsx} | 0 ...eterSlider.spec.tsx => TrainingParameterSlider.test.tsx} | 0 ...adModalReducer.spec.ts => useUploadModalReducer.test.ts} | 0 .../{ExistingDataset.spec.tsx => ExistingDataset.test.tsx} | 0 .../{NewDataset.spec.tsx => NewDataset.test.tsx} | 0 .../DatasetUploader/{Select.spec.tsx => Select.test.tsx} | 0 .../DatasetUploader/{index.spec.tsx => index.test.tsx} | 0 ...{SimpleFilesTable.spec.tsx => SimpleFilesTable.test.tsx} | 0 .../UploadModal/{index.spec.tsx => index.test.tsx} | 0 .../components/UploadModal/{utils.spec.ts => utils.test.ts} | 0 .../{VariableButton.spec.tsx => VariableButton.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../ControlledTextInput/{index.spec.tsx => index.test.tsx} | 0 .../ControlledTextInput/{utils.spec.ts => utils.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../form/MappingFields/{index.spec.tsx => index.test.tsx} | 0 .../form/MaskedTextInput/{index.spec.tsx => index.test.tsx} | 0 .../VariableTextArea/{index.spec.tsx => index.test.tsx} | 0 .../form/ZodFormField/{index.spec.tsx => index.test.tsx} | 0 .../form/ZodFormField/{utils.spec.ts => utils.test.ts} | 0 .../useCopyToClipboard/{index.spec.ts => index.test.ts} | 0 .../useDeferredUnmount/{index.spec.ts => index.test.ts} | 0 .../{index.spec.ts => index.test.ts} | 0 .../src/hooks/useJobLogs/{index.spec.tsx => index.test.tsx} | 0 .../hooks/useLiveSeconds/{index.spec.tsx => index.test.tsx} | 0 .../hooks/useQueryParams/{index.spec.tsx => index.test.tsx} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../hooks/useSetTimeout/{index.spec.ts => index.test.ts} | 0 .../{index.spec.tsx => index.test.tsx} | 0 .../useTableFilters/{index.spec.tsx => index.test.tsx} | 0 .../common/src/{namedEntity.spec.ts => namedEntity.test.ts} | 0 .../{ToastProvider.spec.tsx => ToastProvider.test.tsx} | 0 .../src/utils/{TraceQueue.spec.ts => TraceQueue.test.ts} | 0 .../common/src/utils/{a11y.spec.ts => a11y.test.ts} | 0 .../src/utils/{codeSnippet.spec.ts => codeSnippet.test.ts} | 6 +++++- .../{datasetQuality.spec.ts => datasetQuality.test.ts} | 0 .../common/src/utils/{date.spec.ts => date.test.ts} | 0 .../common/src/utils/{file.spec.ts => file.test.ts} | 0 .../{fileValidation.spec.ts => fileValidation.test.ts} | 0 .../src/utils/{filesetName.spec.ts => filesetName.test.ts} | 0 .../{formatDateRange.spec.ts => formatDateRange.test.ts} | 0 .../src/utils/{isDefined.spec.ts => isDefined.test.ts} | 0 .../jsonSchema/{canonical.spec.ts => canonical.test.ts} | 0 .../src/utils/jsonSchema/{dedupe.spec.ts => dedupe.test.ts} | 0 .../jsonSchema/{inference.spec.ts => inference.test.ts} | 0 .../{schemaAssignable.spec.ts => schemaAssignable.test.ts} | 0 .../utils/jsonSchema/{validate.spec.ts => validate.test.ts} | 0 .../common/src/utils/{logs.spec.ts => logs.test.ts} | 0 .../common/src/utils/{models.spec.ts => models.test.ts} | 0 ...lObjectSample.spec.ts => parseJsonlObjectSample.test.ts} | 0 .../common/src/utils/{query.spec.ts => query.test.ts} | 0 .../{sampleTextLines.spec.ts => sampleTextLines.test.ts} | 0 .../common/src/utils/{search.spec.ts => search.test.ts} | 6 +++++- web/packages/common/src/utils/{url.spec.ts => url.test.ts} | 0 ...earchParams.spec.ts => useQueryFromSearchParams.test.ts} | 0 ...ithubTokenHeaders.spec.ts => githubTokenHeaders.test.ts} | 0 ...onNameOverride.spec.ts => operationNameOverride.test.ts} | 0 .../{customization.spec.ts => customization.test.ts} | 0 .../e2e-tests/{deployments.spec.ts => deployments.test.ts} | 0 .../e2e-tests/{evaluation.spec.ts => evaluation.test.ts} | 0 .../projects/{datasets.spec.ts => datasets.test.ts} | 0 .../{model-inference.spec.ts => model-inference.test.ts} | 0 .../e2e-tests/projects/{model.spec.ts => model.test.ts} | 0 .../e2e-tests/projects/{project.spec.ts => project.test.ts} | 0 .../{safeSynthesizer.spec.ts => safeSynthesizer.test.ts} | 0 106 files changed, 10 insertions(+), 2 deletions(-) rename web/packages/common/src/LabsPOC/{dataset-file-utils.spec.ts => dataset-file-utils.test.ts} (100%) rename web/packages/common/src/api/entity-store/{usePromptTunableBaseModelIds.spec.tsx => usePromptTunableBaseModelIds.test.tsx} (100%) rename web/packages/common/src/api/{useBatchGet.spec.tsx => useBatchGet.test.tsx} (100%) rename web/packages/common/src/components/AssistantChat/{completionUtils.spec.ts => completionUtils.test.ts} (100%) rename web/packages/common/src/components/AssistantChat/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/AssistantChat/{messageUtils.spec.ts => messageUtils.test.ts} (100%) rename web/packages/common/src/components/Chat/MessageContent/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/ChatCompletionInput/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/CodeDisplay/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/CodeEditor/extensions/{useLinter.spec.ts => useLinter.test.ts} (100%) rename web/packages/common/src/components/CodeEditor/util/{editor.spec.ts => editor.test.ts} (100%) rename web/packages/common/src/components/DataView/{ColumnFilterPanel.spec.tsx => ColumnFilterPanel.test.tsx} (100%) rename web/packages/common/src/components/DataView/FilterPanel/{CustomFilter.spec.tsx => CustomFilter.test.tsx} (100%) rename web/packages/common/src/components/DataView/FilterPanel/{DateRangeFilter.spec.tsx => DateRangeFilter.test.tsx} (100%) rename web/packages/common/src/components/DataView/{FilterPanelToggle.spec.tsx => FilterPanelToggle.test.tsx} (100%) rename web/packages/common/src/components/DataView/{StudioAppliedFilters.spec.tsx => StudioAppliedFilters.test.tsx} (100%) rename web/packages/common/src/components/DataView/{StudioDataView.spec.tsx => StudioDataView.test.tsx} (100%) rename web/packages/common/src/components/DatasetFileSelect/{ControlledDatasetFileSelect.spec.tsx => ControlledDatasetFileSelect.test.tsx} (100%) rename web/packages/common/src/components/DatasetFileSelect/{DatasetFileSelect.spec.tsx => DatasetFileSelect.test.tsx} (100%) rename web/packages/common/src/components/DatasetFileSelect/hooks/{useFilePreview.spec.tsx => useFilePreview.test.tsx} (100%) rename web/packages/common/src/components/DatasetFileSelect/{listPathPrefixFromObjectPath.spec.ts => listPathPrefixFromObjectPath.test.ts} (100%) rename web/packages/common/src/components/DatasetFileSelect/{parseFilesetLocation.spec.ts => parseFilesetLocation.test.ts} (100%) rename web/packages/common/src/components/DatasetFileSelect/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/common/src/components/Dial/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/ErrorMessage/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/FileContentPreview/{FileContentPreview.spec.tsx => FileContentPreview.test.tsx} (100%) rename web/packages/common/src/components/FileList/{FileList.spec.tsx => FileList.test.tsx} (100%) rename web/packages/common/src/components/KVPair/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/LoadingButton/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/MarkdownContent/{MarkdownContent.spec.tsx => MarkdownContent.test.tsx} (100%) rename web/packages/common/src/components/ModelDetailsTooltip/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/common/src/components/ModelSelect/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/ModelSelectV2/{InferenceParameters.spec.tsx => InferenceParameters.test.tsx} (100%) rename web/packages/common/src/components/ModelSelectV2/{ParamsDropdown.spec.tsx => ParamsDropdown.test.tsx} (100%) rename web/packages/common/src/components/PanelFooterAccordion/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/RelativeTime/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/ScrollTable/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/SliderWithTextInput/{SliderWithTextInput.spec.tsx => SliderWithTextInput.test.tsx} (100%) rename web/packages/common/src/components/StatusBadge/{StatusBadge.spec.tsx => StatusBadge.test.tsx} (100%) rename web/packages/common/src/components/TableEmptyState/{TableEmptyState.spec.tsx => TableEmptyState.test.tsx} (100%) rename web/packages/common/src/components/TableHeaderButton/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/TagOverflowGroup/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/TrainingParameterSlider/{TrainingParameterSlider.spec.tsx => TrainingParameterSlider.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/Context/{useUploadModalReducer.spec.ts => useUploadModalReducer.test.ts} (100%) rename web/packages/common/src/components/UploadModal/DatasetUploader/{ExistingDataset.spec.tsx => ExistingDataset.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/DatasetUploader/{NewDataset.spec.tsx => NewDataset.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/DatasetUploader/{Select.spec.tsx => Select.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/DatasetUploader/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/{SimpleFilesTable.spec.tsx => SimpleFilesTable.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/UploadModal/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/common/src/components/buttons/{VariableButton.spec.tsx => VariableButton.test.tsx} (100%) rename web/packages/common/src/components/form/ControlledSearchableSelect/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/ControlledTextInput/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/ControlledTextInput/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/common/src/components/form/ControlledVariableTextArea/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/MappingFields/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/MaskedTextInput/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/VariableTextArea/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/ZodFormField/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/components/form/ZodFormField/{utils.spec.ts => utils.test.ts} (100%) rename web/packages/common/src/hooks/useCopyToClipboard/{index.spec.ts => index.test.ts} (100%) rename web/packages/common/src/hooks/useDeferredUnmount/{index.spec.ts => index.test.ts} (100%) rename web/packages/common/src/hooks/useInferredDatasetSchema/{index.spec.ts => index.test.ts} (100%) rename web/packages/common/src/hooks/useJobLogs/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/hooks/useLiveSeconds/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/hooks/useQueryParams/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/hooks/useRehydrateListFromDetailQuery/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/hooks/useSetTimeout/{index.spec.ts => index.test.ts} (100%) rename web/packages/common/src/hooks/useStudioDataViewState/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/hooks/useTableFilters/{index.spec.tsx => index.test.tsx} (100%) rename web/packages/common/src/{namedEntity.spec.ts => namedEntity.test.ts} (100%) rename web/packages/common/src/providers/toast/{ToastProvider.spec.tsx => ToastProvider.test.tsx} (100%) rename web/packages/common/src/utils/{TraceQueue.spec.ts => TraceQueue.test.ts} (100%) rename web/packages/common/src/utils/{a11y.spec.ts => a11y.test.ts} (100%) rename web/packages/common/src/utils/{codeSnippet.spec.ts => codeSnippet.test.ts} (98%) rename web/packages/common/src/utils/{datasetQuality.spec.ts => datasetQuality.test.ts} (100%) rename web/packages/common/src/utils/{date.spec.ts => date.test.ts} (100%) rename web/packages/common/src/utils/{file.spec.ts => file.test.ts} (100%) rename web/packages/common/src/utils/{fileValidation.spec.ts => fileValidation.test.ts} (100%) rename web/packages/common/src/utils/{filesetName.spec.ts => filesetName.test.ts} (100%) rename web/packages/common/src/utils/{formatDateRange.spec.ts => formatDateRange.test.ts} (100%) rename web/packages/common/src/utils/{isDefined.spec.ts => isDefined.test.ts} (100%) rename web/packages/common/src/utils/jsonSchema/{canonical.spec.ts => canonical.test.ts} (100%) rename web/packages/common/src/utils/jsonSchema/{dedupe.spec.ts => dedupe.test.ts} (100%) rename web/packages/common/src/utils/jsonSchema/{inference.spec.ts => inference.test.ts} (100%) rename web/packages/common/src/utils/jsonSchema/{schemaAssignable.spec.ts => schemaAssignable.test.ts} (100%) rename web/packages/common/src/utils/jsonSchema/{validate.spec.ts => validate.test.ts} (100%) rename web/packages/common/src/utils/{logs.spec.ts => logs.test.ts} (100%) rename web/packages/common/src/utils/{models.spec.ts => models.test.ts} (100%) rename web/packages/common/src/utils/{parseJsonlObjectSample.spec.ts => parseJsonlObjectSample.test.ts} (100%) rename web/packages/common/src/utils/{query.spec.ts => query.test.ts} (100%) rename web/packages/common/src/utils/{sampleTextLines.spec.ts => sampleTextLines.test.ts} (100%) rename web/packages/common/src/utils/{search.spec.ts => search.test.ts} (98%) rename web/packages/common/src/utils/{url.spec.ts => url.test.ts} (100%) rename web/packages/common/src/utils/{useQueryFromSearchParams.spec.ts => useQueryFromSearchParams.test.ts} (100%) rename web/packages/sdk/orval/{githubTokenHeaders.spec.ts => githubTokenHeaders.test.ts} (100%) rename web/packages/sdk/orval/{operationNameOverride.spec.ts => operationNameOverride.test.ts} (100%) rename web/packages/studio/e2e-tests/{customization.spec.ts => customization.test.ts} (100%) rename web/packages/studio/e2e-tests/{deployments.spec.ts => deployments.test.ts} (100%) rename web/packages/studio/e2e-tests/{evaluation.spec.ts => evaluation.test.ts} (100%) rename web/packages/studio/e2e-tests/projects/{datasets.spec.ts => datasets.test.ts} (100%) rename web/packages/studio/e2e-tests/projects/{model-inference.spec.ts => model-inference.test.ts} (100%) rename web/packages/studio/e2e-tests/projects/{model.spec.ts => model.test.ts} (100%) rename web/packages/studio/e2e-tests/projects/{project.spec.ts => project.test.ts} (100%) rename web/packages/studio/e2e-tests/{safeSynthesizer.spec.ts => safeSynthesizer.test.ts} (100%) diff --git a/web/packages/common/src/LabsPOC/dataset-file-utils.spec.ts b/web/packages/common/src/LabsPOC/dataset-file-utils.test.ts similarity index 100% rename from web/packages/common/src/LabsPOC/dataset-file-utils.spec.ts rename to web/packages/common/src/LabsPOC/dataset-file-utils.test.ts diff --git a/web/packages/common/src/api/entity-store/usePromptTunableBaseModelIds.spec.tsx b/web/packages/common/src/api/entity-store/usePromptTunableBaseModelIds.test.tsx similarity index 100% rename from web/packages/common/src/api/entity-store/usePromptTunableBaseModelIds.spec.tsx rename to web/packages/common/src/api/entity-store/usePromptTunableBaseModelIds.test.tsx diff --git a/web/packages/common/src/api/useBatchGet.spec.tsx b/web/packages/common/src/api/useBatchGet.test.tsx similarity index 100% rename from web/packages/common/src/api/useBatchGet.spec.tsx rename to web/packages/common/src/api/useBatchGet.test.tsx diff --git a/web/packages/common/src/components/AssistantChat/completionUtils.spec.ts b/web/packages/common/src/components/AssistantChat/completionUtils.test.ts similarity index 100% rename from web/packages/common/src/components/AssistantChat/completionUtils.spec.ts rename to web/packages/common/src/components/AssistantChat/completionUtils.test.ts diff --git a/web/packages/common/src/components/AssistantChat/index.spec.tsx b/web/packages/common/src/components/AssistantChat/index.test.tsx similarity index 100% rename from web/packages/common/src/components/AssistantChat/index.spec.tsx rename to web/packages/common/src/components/AssistantChat/index.test.tsx diff --git a/web/packages/common/src/components/AssistantChat/messageUtils.spec.ts b/web/packages/common/src/components/AssistantChat/messageUtils.test.ts similarity index 100% rename from web/packages/common/src/components/AssistantChat/messageUtils.spec.ts rename to web/packages/common/src/components/AssistantChat/messageUtils.test.ts diff --git a/web/packages/common/src/components/Chat/MessageContent/index.spec.tsx b/web/packages/common/src/components/Chat/MessageContent/index.test.tsx similarity index 100% rename from web/packages/common/src/components/Chat/MessageContent/index.spec.tsx rename to web/packages/common/src/components/Chat/MessageContent/index.test.tsx diff --git a/web/packages/common/src/components/ChatCompletionInput/index.spec.tsx b/web/packages/common/src/components/ChatCompletionInput/index.test.tsx similarity index 100% rename from web/packages/common/src/components/ChatCompletionInput/index.spec.tsx rename to web/packages/common/src/components/ChatCompletionInput/index.test.tsx diff --git a/web/packages/common/src/components/CodeDisplay/index.spec.tsx b/web/packages/common/src/components/CodeDisplay/index.test.tsx similarity index 100% rename from web/packages/common/src/components/CodeDisplay/index.spec.tsx rename to web/packages/common/src/components/CodeDisplay/index.test.tsx diff --git a/web/packages/common/src/components/CodeEditor/extensions/useLinter.spec.ts b/web/packages/common/src/components/CodeEditor/extensions/useLinter.test.ts similarity index 100% rename from web/packages/common/src/components/CodeEditor/extensions/useLinter.spec.ts rename to web/packages/common/src/components/CodeEditor/extensions/useLinter.test.ts diff --git a/web/packages/common/src/components/CodeEditor/util/editor.spec.ts b/web/packages/common/src/components/CodeEditor/util/editor.test.ts similarity index 100% rename from web/packages/common/src/components/CodeEditor/util/editor.spec.ts rename to web/packages/common/src/components/CodeEditor/util/editor.test.ts diff --git a/web/packages/common/src/components/DataView/ColumnFilterPanel.spec.tsx b/web/packages/common/src/components/DataView/ColumnFilterPanel.test.tsx similarity index 100% rename from web/packages/common/src/components/DataView/ColumnFilterPanel.spec.tsx rename to web/packages/common/src/components/DataView/ColumnFilterPanel.test.tsx diff --git a/web/packages/common/src/components/DataView/FilterPanel/CustomFilter.spec.tsx b/web/packages/common/src/components/DataView/FilterPanel/CustomFilter.test.tsx similarity index 100% rename from web/packages/common/src/components/DataView/FilterPanel/CustomFilter.spec.tsx rename to web/packages/common/src/components/DataView/FilterPanel/CustomFilter.test.tsx diff --git a/web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.spec.tsx b/web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.test.tsx similarity index 100% rename from web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.spec.tsx rename to web/packages/common/src/components/DataView/FilterPanel/DateRangeFilter.test.tsx diff --git a/web/packages/common/src/components/DataView/FilterPanelToggle.spec.tsx b/web/packages/common/src/components/DataView/FilterPanelToggle.test.tsx similarity index 100% rename from web/packages/common/src/components/DataView/FilterPanelToggle.spec.tsx rename to web/packages/common/src/components/DataView/FilterPanelToggle.test.tsx diff --git a/web/packages/common/src/components/DataView/StudioAppliedFilters.spec.tsx b/web/packages/common/src/components/DataView/StudioAppliedFilters.test.tsx similarity index 100% rename from web/packages/common/src/components/DataView/StudioAppliedFilters.spec.tsx rename to web/packages/common/src/components/DataView/StudioAppliedFilters.test.tsx diff --git a/web/packages/common/src/components/DataView/StudioDataView.spec.tsx b/web/packages/common/src/components/DataView/StudioDataView.test.tsx similarity index 100% rename from web/packages/common/src/components/DataView/StudioDataView.spec.tsx rename to web/packages/common/src/components/DataView/StudioDataView.test.tsx diff --git a/web/packages/common/src/components/DatasetFileSelect/ControlledDatasetFileSelect.spec.tsx b/web/packages/common/src/components/DatasetFileSelect/ControlledDatasetFileSelect.test.tsx similarity index 100% rename from web/packages/common/src/components/DatasetFileSelect/ControlledDatasetFileSelect.spec.tsx rename to web/packages/common/src/components/DatasetFileSelect/ControlledDatasetFileSelect.test.tsx diff --git a/web/packages/common/src/components/DatasetFileSelect/DatasetFileSelect.spec.tsx b/web/packages/common/src/components/DatasetFileSelect/DatasetFileSelect.test.tsx similarity index 100% rename from web/packages/common/src/components/DatasetFileSelect/DatasetFileSelect.spec.tsx rename to web/packages/common/src/components/DatasetFileSelect/DatasetFileSelect.test.tsx diff --git a/web/packages/common/src/components/DatasetFileSelect/hooks/useFilePreview.spec.tsx b/web/packages/common/src/components/DatasetFileSelect/hooks/useFilePreview.test.tsx similarity index 100% rename from web/packages/common/src/components/DatasetFileSelect/hooks/useFilePreview.spec.tsx rename to web/packages/common/src/components/DatasetFileSelect/hooks/useFilePreview.test.tsx diff --git a/web/packages/common/src/components/DatasetFileSelect/listPathPrefixFromObjectPath.spec.ts b/web/packages/common/src/components/DatasetFileSelect/listPathPrefixFromObjectPath.test.ts similarity index 100% rename from web/packages/common/src/components/DatasetFileSelect/listPathPrefixFromObjectPath.spec.ts rename to web/packages/common/src/components/DatasetFileSelect/listPathPrefixFromObjectPath.test.ts diff --git a/web/packages/common/src/components/DatasetFileSelect/parseFilesetLocation.spec.ts b/web/packages/common/src/components/DatasetFileSelect/parseFilesetLocation.test.ts similarity index 100% rename from web/packages/common/src/components/DatasetFileSelect/parseFilesetLocation.spec.ts rename to web/packages/common/src/components/DatasetFileSelect/parseFilesetLocation.test.ts diff --git a/web/packages/common/src/components/DatasetFileSelect/utils.spec.ts b/web/packages/common/src/components/DatasetFileSelect/utils.test.ts similarity index 100% rename from web/packages/common/src/components/DatasetFileSelect/utils.spec.ts rename to web/packages/common/src/components/DatasetFileSelect/utils.test.ts diff --git a/web/packages/common/src/components/Dial/index.spec.tsx b/web/packages/common/src/components/Dial/index.test.tsx similarity index 100% rename from web/packages/common/src/components/Dial/index.spec.tsx rename to web/packages/common/src/components/Dial/index.test.tsx diff --git a/web/packages/common/src/components/ErrorMessage/index.spec.tsx b/web/packages/common/src/components/ErrorMessage/index.test.tsx similarity index 100% rename from web/packages/common/src/components/ErrorMessage/index.spec.tsx rename to web/packages/common/src/components/ErrorMessage/index.test.tsx diff --git a/web/packages/common/src/components/FileContentPreview/FileContentPreview.spec.tsx b/web/packages/common/src/components/FileContentPreview/FileContentPreview.test.tsx similarity index 100% rename from web/packages/common/src/components/FileContentPreview/FileContentPreview.spec.tsx rename to web/packages/common/src/components/FileContentPreview/FileContentPreview.test.tsx diff --git a/web/packages/common/src/components/FileList/FileList.spec.tsx b/web/packages/common/src/components/FileList/FileList.test.tsx similarity index 100% rename from web/packages/common/src/components/FileList/FileList.spec.tsx rename to web/packages/common/src/components/FileList/FileList.test.tsx diff --git a/web/packages/common/src/components/KVPair/index.spec.tsx b/web/packages/common/src/components/KVPair/index.test.tsx similarity index 100% rename from web/packages/common/src/components/KVPair/index.spec.tsx rename to web/packages/common/src/components/KVPair/index.test.tsx diff --git a/web/packages/common/src/components/LoadingButton/index.spec.tsx b/web/packages/common/src/components/LoadingButton/index.test.tsx similarity index 100% rename from web/packages/common/src/components/LoadingButton/index.spec.tsx rename to web/packages/common/src/components/LoadingButton/index.test.tsx diff --git a/web/packages/common/src/components/MarkdownContent/MarkdownContent.spec.tsx b/web/packages/common/src/components/MarkdownContent/MarkdownContent.test.tsx similarity index 100% rename from web/packages/common/src/components/MarkdownContent/MarkdownContent.spec.tsx rename to web/packages/common/src/components/MarkdownContent/MarkdownContent.test.tsx diff --git a/web/packages/common/src/components/ModelDetailsTooltip/utils.spec.ts b/web/packages/common/src/components/ModelDetailsTooltip/utils.test.ts similarity index 100% rename from web/packages/common/src/components/ModelDetailsTooltip/utils.spec.ts rename to web/packages/common/src/components/ModelDetailsTooltip/utils.test.ts diff --git a/web/packages/common/src/components/ModelSelect/index.spec.tsx b/web/packages/common/src/components/ModelSelect/index.test.tsx similarity index 100% rename from web/packages/common/src/components/ModelSelect/index.spec.tsx rename to web/packages/common/src/components/ModelSelect/index.test.tsx diff --git a/web/packages/common/src/components/ModelSelectV2/InferenceParameters.spec.tsx b/web/packages/common/src/components/ModelSelectV2/InferenceParameters.test.tsx similarity index 100% rename from web/packages/common/src/components/ModelSelectV2/InferenceParameters.spec.tsx rename to web/packages/common/src/components/ModelSelectV2/InferenceParameters.test.tsx diff --git a/web/packages/common/src/components/ModelSelectV2/ParamsDropdown.spec.tsx b/web/packages/common/src/components/ModelSelectV2/ParamsDropdown.test.tsx similarity index 100% rename from web/packages/common/src/components/ModelSelectV2/ParamsDropdown.spec.tsx rename to web/packages/common/src/components/ModelSelectV2/ParamsDropdown.test.tsx diff --git a/web/packages/common/src/components/PanelFooterAccordion/index.spec.tsx b/web/packages/common/src/components/PanelFooterAccordion/index.test.tsx similarity index 100% rename from web/packages/common/src/components/PanelFooterAccordion/index.spec.tsx rename to web/packages/common/src/components/PanelFooterAccordion/index.test.tsx diff --git a/web/packages/common/src/components/RelativeTime/index.spec.tsx b/web/packages/common/src/components/RelativeTime/index.test.tsx similarity index 100% rename from web/packages/common/src/components/RelativeTime/index.spec.tsx rename to web/packages/common/src/components/RelativeTime/index.test.tsx diff --git a/web/packages/common/src/components/ScrollTable/index.spec.tsx b/web/packages/common/src/components/ScrollTable/index.test.tsx similarity index 100% rename from web/packages/common/src/components/ScrollTable/index.spec.tsx rename to web/packages/common/src/components/ScrollTable/index.test.tsx diff --git a/web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.spec.tsx b/web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.test.tsx similarity index 100% rename from web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.spec.tsx rename to web/packages/common/src/components/SliderWithTextInput/SliderWithTextInput.test.tsx diff --git a/web/packages/common/src/components/StatusBadge/StatusBadge.spec.tsx b/web/packages/common/src/components/StatusBadge/StatusBadge.test.tsx similarity index 100% rename from web/packages/common/src/components/StatusBadge/StatusBadge.spec.tsx rename to web/packages/common/src/components/StatusBadge/StatusBadge.test.tsx diff --git a/web/packages/common/src/components/TableEmptyState/TableEmptyState.spec.tsx b/web/packages/common/src/components/TableEmptyState/TableEmptyState.test.tsx similarity index 100% rename from web/packages/common/src/components/TableEmptyState/TableEmptyState.spec.tsx rename to web/packages/common/src/components/TableEmptyState/TableEmptyState.test.tsx diff --git a/web/packages/common/src/components/TableHeaderButton/index.spec.tsx b/web/packages/common/src/components/TableHeaderButton/index.test.tsx similarity index 100% rename from web/packages/common/src/components/TableHeaderButton/index.spec.tsx rename to web/packages/common/src/components/TableHeaderButton/index.test.tsx diff --git a/web/packages/common/src/components/TagOverflowGroup/index.spec.tsx b/web/packages/common/src/components/TagOverflowGroup/index.test.tsx similarity index 100% rename from web/packages/common/src/components/TagOverflowGroup/index.spec.tsx rename to web/packages/common/src/components/TagOverflowGroup/index.test.tsx diff --git a/web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.spec.tsx b/web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.test.tsx similarity index 100% rename from web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.spec.tsx rename to web/packages/common/src/components/TrainingParameterSlider/TrainingParameterSlider.test.tsx diff --git a/web/packages/common/src/components/UploadModal/Context/useUploadModalReducer.spec.ts b/web/packages/common/src/components/UploadModal/Context/useUploadModalReducer.test.ts similarity index 100% rename from web/packages/common/src/components/UploadModal/Context/useUploadModalReducer.spec.ts rename to web/packages/common/src/components/UploadModal/Context/useUploadModalReducer.test.ts diff --git a/web/packages/common/src/components/UploadModal/DatasetUploader/ExistingDataset.spec.tsx b/web/packages/common/src/components/UploadModal/DatasetUploader/ExistingDataset.test.tsx similarity index 100% rename from web/packages/common/src/components/UploadModal/DatasetUploader/ExistingDataset.spec.tsx rename to web/packages/common/src/components/UploadModal/DatasetUploader/ExistingDataset.test.tsx diff --git a/web/packages/common/src/components/UploadModal/DatasetUploader/NewDataset.spec.tsx b/web/packages/common/src/components/UploadModal/DatasetUploader/NewDataset.test.tsx similarity index 100% rename from web/packages/common/src/components/UploadModal/DatasetUploader/NewDataset.spec.tsx rename to web/packages/common/src/components/UploadModal/DatasetUploader/NewDataset.test.tsx diff --git a/web/packages/common/src/components/UploadModal/DatasetUploader/Select.spec.tsx b/web/packages/common/src/components/UploadModal/DatasetUploader/Select.test.tsx similarity index 100% rename from web/packages/common/src/components/UploadModal/DatasetUploader/Select.spec.tsx rename to web/packages/common/src/components/UploadModal/DatasetUploader/Select.test.tsx diff --git a/web/packages/common/src/components/UploadModal/DatasetUploader/index.spec.tsx b/web/packages/common/src/components/UploadModal/DatasetUploader/index.test.tsx similarity index 100% rename from web/packages/common/src/components/UploadModal/DatasetUploader/index.spec.tsx rename to web/packages/common/src/components/UploadModal/DatasetUploader/index.test.tsx diff --git a/web/packages/common/src/components/UploadModal/SimpleFilesTable.spec.tsx b/web/packages/common/src/components/UploadModal/SimpleFilesTable.test.tsx similarity index 100% rename from web/packages/common/src/components/UploadModal/SimpleFilesTable.spec.tsx rename to web/packages/common/src/components/UploadModal/SimpleFilesTable.test.tsx diff --git a/web/packages/common/src/components/UploadModal/index.spec.tsx b/web/packages/common/src/components/UploadModal/index.test.tsx similarity index 100% rename from web/packages/common/src/components/UploadModal/index.spec.tsx rename to web/packages/common/src/components/UploadModal/index.test.tsx diff --git a/web/packages/common/src/components/UploadModal/utils.spec.ts b/web/packages/common/src/components/UploadModal/utils.test.ts similarity index 100% rename from web/packages/common/src/components/UploadModal/utils.spec.ts rename to web/packages/common/src/components/UploadModal/utils.test.ts diff --git a/web/packages/common/src/components/buttons/VariableButton.spec.tsx b/web/packages/common/src/components/buttons/VariableButton.test.tsx similarity index 100% rename from web/packages/common/src/components/buttons/VariableButton.spec.tsx rename to web/packages/common/src/components/buttons/VariableButton.test.tsx diff --git a/web/packages/common/src/components/form/ControlledSearchableSelect/index.spec.tsx b/web/packages/common/src/components/form/ControlledSearchableSelect/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/ControlledSearchableSelect/index.spec.tsx rename to web/packages/common/src/components/form/ControlledSearchableSelect/index.test.tsx diff --git a/web/packages/common/src/components/form/ControlledTextInput/index.spec.tsx b/web/packages/common/src/components/form/ControlledTextInput/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/ControlledTextInput/index.spec.tsx rename to web/packages/common/src/components/form/ControlledTextInput/index.test.tsx diff --git a/web/packages/common/src/components/form/ControlledTextInput/utils.spec.ts b/web/packages/common/src/components/form/ControlledTextInput/utils.test.ts similarity index 100% rename from web/packages/common/src/components/form/ControlledTextInput/utils.spec.ts rename to web/packages/common/src/components/form/ControlledTextInput/utils.test.ts diff --git a/web/packages/common/src/components/form/ControlledVariableTextArea/index.spec.tsx b/web/packages/common/src/components/form/ControlledVariableTextArea/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/ControlledVariableTextArea/index.spec.tsx rename to web/packages/common/src/components/form/ControlledVariableTextArea/index.test.tsx diff --git a/web/packages/common/src/components/form/MappingFields/index.spec.tsx b/web/packages/common/src/components/form/MappingFields/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/MappingFields/index.spec.tsx rename to web/packages/common/src/components/form/MappingFields/index.test.tsx diff --git a/web/packages/common/src/components/form/MaskedTextInput/index.spec.tsx b/web/packages/common/src/components/form/MaskedTextInput/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/MaskedTextInput/index.spec.tsx rename to web/packages/common/src/components/form/MaskedTextInput/index.test.tsx diff --git a/web/packages/common/src/components/form/VariableTextArea/index.spec.tsx b/web/packages/common/src/components/form/VariableTextArea/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/VariableTextArea/index.spec.tsx rename to web/packages/common/src/components/form/VariableTextArea/index.test.tsx diff --git a/web/packages/common/src/components/form/ZodFormField/index.spec.tsx b/web/packages/common/src/components/form/ZodFormField/index.test.tsx similarity index 100% rename from web/packages/common/src/components/form/ZodFormField/index.spec.tsx rename to web/packages/common/src/components/form/ZodFormField/index.test.tsx diff --git a/web/packages/common/src/components/form/ZodFormField/utils.spec.ts b/web/packages/common/src/components/form/ZodFormField/utils.test.ts similarity index 100% rename from web/packages/common/src/components/form/ZodFormField/utils.spec.ts rename to web/packages/common/src/components/form/ZodFormField/utils.test.ts diff --git a/web/packages/common/src/hooks/useCopyToClipboard/index.spec.ts b/web/packages/common/src/hooks/useCopyToClipboard/index.test.ts similarity index 100% rename from web/packages/common/src/hooks/useCopyToClipboard/index.spec.ts rename to web/packages/common/src/hooks/useCopyToClipboard/index.test.ts diff --git a/web/packages/common/src/hooks/useDeferredUnmount/index.spec.ts b/web/packages/common/src/hooks/useDeferredUnmount/index.test.ts similarity index 100% rename from web/packages/common/src/hooks/useDeferredUnmount/index.spec.ts rename to web/packages/common/src/hooks/useDeferredUnmount/index.test.ts diff --git a/web/packages/common/src/hooks/useInferredDatasetSchema/index.spec.ts b/web/packages/common/src/hooks/useInferredDatasetSchema/index.test.ts similarity index 100% rename from web/packages/common/src/hooks/useInferredDatasetSchema/index.spec.ts rename to web/packages/common/src/hooks/useInferredDatasetSchema/index.test.ts diff --git a/web/packages/common/src/hooks/useJobLogs/index.spec.tsx b/web/packages/common/src/hooks/useJobLogs/index.test.tsx similarity index 100% rename from web/packages/common/src/hooks/useJobLogs/index.spec.tsx rename to web/packages/common/src/hooks/useJobLogs/index.test.tsx diff --git a/web/packages/common/src/hooks/useLiveSeconds/index.spec.tsx b/web/packages/common/src/hooks/useLiveSeconds/index.test.tsx similarity index 100% rename from web/packages/common/src/hooks/useLiveSeconds/index.spec.tsx rename to web/packages/common/src/hooks/useLiveSeconds/index.test.tsx diff --git a/web/packages/common/src/hooks/useQueryParams/index.spec.tsx b/web/packages/common/src/hooks/useQueryParams/index.test.tsx similarity index 100% rename from web/packages/common/src/hooks/useQueryParams/index.spec.tsx rename to web/packages/common/src/hooks/useQueryParams/index.test.tsx diff --git a/web/packages/common/src/hooks/useRehydrateListFromDetailQuery/index.spec.tsx b/web/packages/common/src/hooks/useRehydrateListFromDetailQuery/index.test.tsx similarity index 100% rename from web/packages/common/src/hooks/useRehydrateListFromDetailQuery/index.spec.tsx rename to web/packages/common/src/hooks/useRehydrateListFromDetailQuery/index.test.tsx diff --git a/web/packages/common/src/hooks/useSetTimeout/index.spec.ts b/web/packages/common/src/hooks/useSetTimeout/index.test.ts similarity index 100% rename from web/packages/common/src/hooks/useSetTimeout/index.spec.ts rename to web/packages/common/src/hooks/useSetTimeout/index.test.ts diff --git a/web/packages/common/src/hooks/useStudioDataViewState/index.spec.tsx b/web/packages/common/src/hooks/useStudioDataViewState/index.test.tsx similarity index 100% rename from web/packages/common/src/hooks/useStudioDataViewState/index.spec.tsx rename to web/packages/common/src/hooks/useStudioDataViewState/index.test.tsx diff --git a/web/packages/common/src/hooks/useTableFilters/index.spec.tsx b/web/packages/common/src/hooks/useTableFilters/index.test.tsx similarity index 100% rename from web/packages/common/src/hooks/useTableFilters/index.spec.tsx rename to web/packages/common/src/hooks/useTableFilters/index.test.tsx diff --git a/web/packages/common/src/namedEntity.spec.ts b/web/packages/common/src/namedEntity.test.ts similarity index 100% rename from web/packages/common/src/namedEntity.spec.ts rename to web/packages/common/src/namedEntity.test.ts diff --git a/web/packages/common/src/providers/toast/ToastProvider.spec.tsx b/web/packages/common/src/providers/toast/ToastProvider.test.tsx similarity index 100% rename from web/packages/common/src/providers/toast/ToastProvider.spec.tsx rename to web/packages/common/src/providers/toast/ToastProvider.test.tsx diff --git a/web/packages/common/src/utils/TraceQueue.spec.ts b/web/packages/common/src/utils/TraceQueue.test.ts similarity index 100% rename from web/packages/common/src/utils/TraceQueue.spec.ts rename to web/packages/common/src/utils/TraceQueue.test.ts diff --git a/web/packages/common/src/utils/a11y.spec.ts b/web/packages/common/src/utils/a11y.test.ts similarity index 100% rename from web/packages/common/src/utils/a11y.spec.ts rename to web/packages/common/src/utils/a11y.test.ts diff --git a/web/packages/common/src/utils/codeSnippet.spec.ts b/web/packages/common/src/utils/codeSnippet.test.ts similarity index 98% rename from web/packages/common/src/utils/codeSnippet.spec.ts rename to web/packages/common/src/utils/codeSnippet.test.ts index c58b36178d..ac2cbf40a6 100644 --- a/web/packages/common/src/utils/codeSnippet.spec.ts +++ b/web/packages/common/src/utils/codeSnippet.test.ts @@ -1,7 +1,11 @@ // SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -import { getLanguageFromFilePath, isCodeSnippetLanguage, languageInCode } from './codeSnippet'; +import { + getLanguageFromFilePath, + isCodeSnippetLanguage, + languageInCode, +} from '@nemo/common/src/utils/codeSnippet'; describe('isCodeSnippetLanguage', () => { it('returns true for supported languages', () => { diff --git a/web/packages/common/src/utils/datasetQuality.spec.ts b/web/packages/common/src/utils/datasetQuality.test.ts similarity index 100% rename from web/packages/common/src/utils/datasetQuality.spec.ts rename to web/packages/common/src/utils/datasetQuality.test.ts diff --git a/web/packages/common/src/utils/date.spec.ts b/web/packages/common/src/utils/date.test.ts similarity index 100% rename from web/packages/common/src/utils/date.spec.ts rename to web/packages/common/src/utils/date.test.ts diff --git a/web/packages/common/src/utils/file.spec.ts b/web/packages/common/src/utils/file.test.ts similarity index 100% rename from web/packages/common/src/utils/file.spec.ts rename to web/packages/common/src/utils/file.test.ts diff --git a/web/packages/common/src/utils/fileValidation.spec.ts b/web/packages/common/src/utils/fileValidation.test.ts similarity index 100% rename from web/packages/common/src/utils/fileValidation.spec.ts rename to web/packages/common/src/utils/fileValidation.test.ts diff --git a/web/packages/common/src/utils/filesetName.spec.ts b/web/packages/common/src/utils/filesetName.test.ts similarity index 100% rename from web/packages/common/src/utils/filesetName.spec.ts rename to web/packages/common/src/utils/filesetName.test.ts diff --git a/web/packages/common/src/utils/formatDateRange.spec.ts b/web/packages/common/src/utils/formatDateRange.test.ts similarity index 100% rename from web/packages/common/src/utils/formatDateRange.spec.ts rename to web/packages/common/src/utils/formatDateRange.test.ts diff --git a/web/packages/common/src/utils/isDefined.spec.ts b/web/packages/common/src/utils/isDefined.test.ts similarity index 100% rename from web/packages/common/src/utils/isDefined.spec.ts rename to web/packages/common/src/utils/isDefined.test.ts diff --git a/web/packages/common/src/utils/jsonSchema/canonical.spec.ts b/web/packages/common/src/utils/jsonSchema/canonical.test.ts similarity index 100% rename from web/packages/common/src/utils/jsonSchema/canonical.spec.ts rename to web/packages/common/src/utils/jsonSchema/canonical.test.ts diff --git a/web/packages/common/src/utils/jsonSchema/dedupe.spec.ts b/web/packages/common/src/utils/jsonSchema/dedupe.test.ts similarity index 100% rename from web/packages/common/src/utils/jsonSchema/dedupe.spec.ts rename to web/packages/common/src/utils/jsonSchema/dedupe.test.ts diff --git a/web/packages/common/src/utils/jsonSchema/inference.spec.ts b/web/packages/common/src/utils/jsonSchema/inference.test.ts similarity index 100% rename from web/packages/common/src/utils/jsonSchema/inference.spec.ts rename to web/packages/common/src/utils/jsonSchema/inference.test.ts diff --git a/web/packages/common/src/utils/jsonSchema/schemaAssignable.spec.ts b/web/packages/common/src/utils/jsonSchema/schemaAssignable.test.ts similarity index 100% rename from web/packages/common/src/utils/jsonSchema/schemaAssignable.spec.ts rename to web/packages/common/src/utils/jsonSchema/schemaAssignable.test.ts diff --git a/web/packages/common/src/utils/jsonSchema/validate.spec.ts b/web/packages/common/src/utils/jsonSchema/validate.test.ts similarity index 100% rename from web/packages/common/src/utils/jsonSchema/validate.spec.ts rename to web/packages/common/src/utils/jsonSchema/validate.test.ts diff --git a/web/packages/common/src/utils/logs.spec.ts b/web/packages/common/src/utils/logs.test.ts similarity index 100% rename from web/packages/common/src/utils/logs.spec.ts rename to web/packages/common/src/utils/logs.test.ts diff --git a/web/packages/common/src/utils/models.spec.ts b/web/packages/common/src/utils/models.test.ts similarity index 100% rename from web/packages/common/src/utils/models.spec.ts rename to web/packages/common/src/utils/models.test.ts diff --git a/web/packages/common/src/utils/parseJsonlObjectSample.spec.ts b/web/packages/common/src/utils/parseJsonlObjectSample.test.ts similarity index 100% rename from web/packages/common/src/utils/parseJsonlObjectSample.spec.ts rename to web/packages/common/src/utils/parseJsonlObjectSample.test.ts diff --git a/web/packages/common/src/utils/query.spec.ts b/web/packages/common/src/utils/query.test.ts similarity index 100% rename from web/packages/common/src/utils/query.spec.ts rename to web/packages/common/src/utils/query.test.ts diff --git a/web/packages/common/src/utils/sampleTextLines.spec.ts b/web/packages/common/src/utils/sampleTextLines.test.ts similarity index 100% rename from web/packages/common/src/utils/sampleTextLines.spec.ts rename to web/packages/common/src/utils/sampleTextLines.test.ts diff --git a/web/packages/common/src/utils/search.spec.ts b/web/packages/common/src/utils/search.test.ts similarity index 98% rename from web/packages/common/src/utils/search.spec.ts rename to web/packages/common/src/utils/search.test.ts index e6dc82010b..cdf1f04f66 100644 --- a/web/packages/common/src/utils/search.spec.ts +++ b/web/packages/common/src/utils/search.test.ts @@ -1,7 +1,11 @@ // SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -import { buildApiSearchParam, convertQueryToList, mergeURLSearchParams } from './search'; +import { + buildApiSearchParam, + convertQueryToList, + mergeURLSearchParams, +} from '@nemo/common/src/utils/search'; describe('buildApiSearchParam', () => { it('returns undefined for undefined input', () => { diff --git a/web/packages/common/src/utils/url.spec.ts b/web/packages/common/src/utils/url.test.ts similarity index 100% rename from web/packages/common/src/utils/url.spec.ts rename to web/packages/common/src/utils/url.test.ts diff --git a/web/packages/common/src/utils/useQueryFromSearchParams.spec.ts b/web/packages/common/src/utils/useQueryFromSearchParams.test.ts similarity index 100% rename from web/packages/common/src/utils/useQueryFromSearchParams.spec.ts rename to web/packages/common/src/utils/useQueryFromSearchParams.test.ts diff --git a/web/packages/sdk/orval/githubTokenHeaders.spec.ts b/web/packages/sdk/orval/githubTokenHeaders.test.ts similarity index 100% rename from web/packages/sdk/orval/githubTokenHeaders.spec.ts rename to web/packages/sdk/orval/githubTokenHeaders.test.ts diff --git a/web/packages/sdk/orval/operationNameOverride.spec.ts b/web/packages/sdk/orval/operationNameOverride.test.ts similarity index 100% rename from web/packages/sdk/orval/operationNameOverride.spec.ts rename to web/packages/sdk/orval/operationNameOverride.test.ts diff --git a/web/packages/studio/e2e-tests/customization.spec.ts b/web/packages/studio/e2e-tests/customization.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/customization.spec.ts rename to web/packages/studio/e2e-tests/customization.test.ts diff --git a/web/packages/studio/e2e-tests/deployments.spec.ts b/web/packages/studio/e2e-tests/deployments.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/deployments.spec.ts rename to web/packages/studio/e2e-tests/deployments.test.ts diff --git a/web/packages/studio/e2e-tests/evaluation.spec.ts b/web/packages/studio/e2e-tests/evaluation.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/evaluation.spec.ts rename to web/packages/studio/e2e-tests/evaluation.test.ts diff --git a/web/packages/studio/e2e-tests/projects/datasets.spec.ts b/web/packages/studio/e2e-tests/projects/datasets.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/projects/datasets.spec.ts rename to web/packages/studio/e2e-tests/projects/datasets.test.ts diff --git a/web/packages/studio/e2e-tests/projects/model-inference.spec.ts b/web/packages/studio/e2e-tests/projects/model-inference.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/projects/model-inference.spec.ts rename to web/packages/studio/e2e-tests/projects/model-inference.test.ts diff --git a/web/packages/studio/e2e-tests/projects/model.spec.ts b/web/packages/studio/e2e-tests/projects/model.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/projects/model.spec.ts rename to web/packages/studio/e2e-tests/projects/model.test.ts diff --git a/web/packages/studio/e2e-tests/projects/project.spec.ts b/web/packages/studio/e2e-tests/projects/project.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/projects/project.spec.ts rename to web/packages/studio/e2e-tests/projects/project.test.ts diff --git a/web/packages/studio/e2e-tests/safeSynthesizer.spec.ts b/web/packages/studio/e2e-tests/safeSynthesizer.test.ts similarity index 100% rename from web/packages/studio/e2e-tests/safeSynthesizer.spec.ts rename to web/packages/studio/e2e-tests/safeSynthesizer.test.ts