This is an automated email from the ASF dual-hosted git repository. msyavuz pushed a commit to branch msyavuz/fix/smart-format in repository https://gitbox.apache.org/repos/asf/superset.git
commit d133c6cb357ff015e94dbc93ef6ebddf133b4c15 Author: Mehmet Salih Yavuz <[email protected]> AuthorDate: Mon Feb 16 19:54:20 2026 +0300 chore: add tests --- .../test/utils/formatters.test.ts | 48 +++++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/utils/formatters.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/utils/formatters.test.ts index daa15d9aa01..46ebf2e2394 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/test/utils/formatters.test.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/test/utils/formatters.test.ts @@ -16,8 +16,11 @@ * specific language governing permissions and limitations * under the License. */ -import { NumberFormats } from '@superset-ui/core'; -import { getPercentFormatter } from '../../src/utils/formatters'; +import { NumberFormats, SMART_DATE_ID, TimeFormatter } from '@superset-ui/core'; +import { + getPercentFormatter, + getXAxisFormatter, +} from '../../src/utils/formatters'; describe('getPercentFormatter', () => { const value = 0.6; @@ -35,3 +38,44 @@ describe('getPercentFormatter', () => { ).toEqual('60.00%'); }); }); + +describe('getXAxisFormatter', () => { + test('should return smart date formatter for SMART_DATE_ID format', () => { + const formatter = getXAxisFormatter(SMART_DATE_ID); + expect(formatter).toBeDefined(); + expect(formatter).toBeInstanceOf(TimeFormatter); + expect((formatter as TimeFormatter).id).toBe(SMART_DATE_ID); + }); + + test('should return smart date formatter for undefined format', () => { + const formatter = getXAxisFormatter(); + expect(formatter).toBeDefined(); + expect(formatter).toBeInstanceOf(TimeFormatter); + expect((formatter as TimeFormatter).id).toBe(SMART_DATE_ID); + }); + + test('should return custom time formatter for custom format', () => { + const customFormat = '%Y-%m-%d'; + const formatter = getXAxisFormatter(customFormat); + expect(formatter).toBeDefined(); + expect(formatter).toBeInstanceOf(TimeFormatter); + expect((formatter as TimeFormatter).id).toBe(customFormat); + }); + + test('smart date formatter should be returned and not undefined', () => { + const formatter = getXAxisFormatter(SMART_DATE_ID); + expect(formatter).toBeDefined(); + expect(formatter).toBeInstanceOf(TimeFormatter); + expect((formatter as TimeFormatter).id).toBe(SMART_DATE_ID); + + const undefinedFormatter = getXAxisFormatter(undefined); + expect(undefinedFormatter).toBeDefined(); + expect(undefinedFormatter).toBeInstanceOf(TimeFormatter); + expect((undefinedFormatter as TimeFormatter).id).toBe(SMART_DATE_ID); + + const emptyFormatter = getXAxisFormatter(); + expect(emptyFormatter).toBeDefined(); + expect(emptyFormatter).toBeInstanceOf(TimeFormatter); + expect((emptyFormatter as TimeFormatter).id).toBe(SMART_DATE_ID); + }); +});
