Skip to content
Snippets Groups Projects
Unverified Commit 538835f0 authored by Nemanja Glumac's avatar Nemanja Glumac Committed by GitHub
Browse files

#17551 Repro: Dashboard date filter "Include today" does not work for relative "Next" (#17557)

* Expand `setAdHocFilter` helper function to include current date

* Add repro for #17551

* Update test title
parent d765d16d
Branches
Tags
No related merge requests found
import { restore, filterWidget } from "__support__/e2e/cypress";
import { setAdHocFilter } from "../../native-filters/helpers/e2e-date-filter-helpers";
describe.skip("issue 17551", () => {
beforeEach(() => {
restore();
cy.signInAsAdmin();
cy.createNativeQuestion({
native: {
query:
"select 'yesterday' as \"text\", dateadd('day', -1, current_date::date) as \"date\" union all\nselect 'today', current_date::date union all\nselect 'tomorrow', dateadd('day', 1, current_date::date)\n",
},
}).then(({ body: { id: baseQuestionId } }) => {
const questionDetails = {
name: "17551 QB",
query: { "source-table": `card__${baseQuestionId}` },
};
const filter = {
name: "Date Filter",
slug: "date_filter",
id: "888188ad",
type: "date/all-options",
sectionId: "date",
};
const dashboardDetails = { parameters: [filter] };
cy.createQuestionAndDashboard({
questionDetails,
dashboardDetails,
}).then(({ body: oldCard }) => {
const { card_id, dashboard_id } = oldCard;
const mapFilterToCard = {
parameter_mappings: [
{
parameter_id: filter.id,
card_id,
target: [
"dimension",
[
"field",
"date",
{
"base-type": "type/DateTime",
},
],
],
},
],
};
cy.editDashboardCard(oldCard, mapFilterToCard);
cy.visit(`/dashboard/${dashboard_id}`);
});
});
});
it("should include today in the 'All time' date filter when chosen 'Next' (metabase#17551)", () => {
filterWidget().click();
setAdHocFilter({ condition: "Next", includeCurrent: true });
cy.url().should("include", "?date_filter=next30days~");
cy.findByText("tomorrow");
cy.findByText("today");
});
});
......@@ -29,7 +29,12 @@ export function setRelativeDate(term) {
cy.findByText(term).click();
}
export function setAdHocFilter({ condition, quantity, timeBucket } = {}) {
export function setAdHocFilter({
condition,
quantity,
timeBucket,
includeCurrent = false,
} = {}) {
if (condition) {
cy.get(".AdminSelect")
.contains("Previous")
......@@ -58,5 +63,7 @@ export function setAdHocFilter({ condition, quantity, timeBucket } = {}) {
.click();
}
includeCurrent && cy.findByText(/^Include/).click();
cy.button("Update filter").click();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment