Skip to content
Snippets Groups Projects
Unverified Commit 07b90c23 authored by Alexander Lesnenko's avatar Alexander Lesnenko Committed by GitHub
Browse files

fix invalid unit on dashboard relative date time filters (#22596)

parent 029f862b
No related merge requests found
......@@ -30,14 +30,16 @@ export const DATETIME_UNITS = [
export function computeFilterTimeRange(filter) {
let expandedFilter;
let defaultUnit;
if (filter[0] === "time-interval") {
defaultUnit = filter[3];
expandedFilter = expandTimeIntervalFilter(filter);
} else {
expandedFilter = filter;
}
const [operator, field, ...values] = expandedFilter;
const bucketing = parseFieldBucketing(field, "day");
const bucketing = parseFieldBucketing(field, defaultUnit ?? "day");
let start, end;
if (isStartingFrom(filter)) {
......
import moment from "moment";
import {
restore,
popover,
filterWidget,
editDashboard,
saveDashboard,
setFilter,
visitDashboard,
} from "__support__/e2e/cypress";
describe("issue 22482", () => {
beforeEach(() => {
restore();
cy.signInAsAdmin();
visitDashboard(1);
editDashboard();
setFilter("Time", "All Options");
cy.findByText("Select…").click();
popover()
.contains("Created At")
.eq(0)
.click();
saveDashboard();
filterWidget().click();
cy.findByText("Relative dates...").click();
});
it("should round relative date range (metabase#22482)", () => {
cy.findByTestId("relative-datetime-value")
.clear()
.type(15);
cy.findByTestId("relative-datetime-unit").click();
cy.findByText("months").click();
const expectedRange = getFormattedRange(
moment()
.startOf("month")
.add(-16, "month"),
moment()
.add(-1, "month")
.endOf("month"),
);
cy.findByText(expectedRange);
});
});
function getFormattedRange(start, end) {
return `${start.format("MMM D, YYYY")} - ${end.format("MMM D, YYYY")}`;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment