Skip to content

Commit

Permalink
Fix the test
Browse files Browse the repository at this point in the history
  • Loading branch information
ranquild committed Feb 21, 2024
1 parent a14914e commit 523d154
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 21 deletions.
4 changes: 2 additions & 2 deletions frontend/src/metabase-lib/comparison.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as ML from "cljs/metabase.lib.js";
import type {
DatasetColumn,
DatasetQuery,
FieldReference,
DimensionReference,
} from "metabase-types/api";

import type { ColumnMetadata, Query } from "./types";
Expand All @@ -28,7 +28,7 @@ export function findColumnIndexesFromLegacyRefs(
query: Query,
stageIndex: number,
columns: ColumnMetadata[] | DatasetColumn[],
fieldRefs: FieldReference[],
fieldRefs: DimensionReference[],
): number[] {
return ML.find_column_indexes_from_legacy_refs(
query,
Expand Down
39 changes: 20 additions & 19 deletions frontend/src/metabase-lib/comparison.unit.spec.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
import { freeze } from "immer";

import { createMockMetadata } from "__support__/metadata";
import * as Lib from "metabase-lib";
import Question from "metabase-lib/Question";
import { createMockCard } from "metabase-types/api/mocks";
import { createSampleDatabase } from "metabase-types/api/mocks/presets";
import { createQuery } from "metabase-lib/test-helpers";
import {
createOrdersTaxDatasetColumn,
createOrdersTotalDatasetColumn,
} from "metabase-types/api/mocks/presets";

describe("findColumnIndexesFromLegacyRefs", () => {
const metadata = createMockMetadata({
databases: [createSampleDatabase()],
});

it("works even on frozen columns and refs", () => {
const card = createMockCard({});
const question = new Question(card, metadata);
const query = createQuery();
const stageIndex = -1;
const columns = freeze(
[createOrdersTotalDatasetColumn(), createOrdersTaxDatasetColumn()],
true,
);

const columns = question._legacyQuery().columns();
const columnIndexes = Lib.findColumnIndexesFromLegacyRefs(
query,
stageIndex,
columns,
columns.map(({ field_ref }) => field_ref!),
);

const frozen = freeze(columns, true /* deep */);
expect(Object.isFrozen(frozen[6])).toBe(true);
expect(Object.isFrozen(frozen[6].field_ref)).toBe(true);
expect(
Lib.findColumnIndexesFromLegacyRefs(question.query(), -1, frozen, [
frozen[6].field_ref,
]),
).toEqual([6]);
expect(Object.isFrozen(columns[0])).toBe(true);
expect(Object.isFrozen(columns[1])).toBe(true);
expect(columnIndexes).toEqual([0, 1]);
});
});

0 comments on commit 523d154

Please sign in to comment.