From 3f7823fc6554e65cb367ce48936c1d7b5e9f36ae Mon Sep 17 00:00:00 2001 From: Edward Gou Date: Fri, 29 Oct 2021 16:52:01 -0400 Subject: [PATCH] updated eventView isEqualTo to evaluate undefined display as equal to 'default' --- static/app/utils/discover/eventView.tsx | 8 +++++++- .../js/spec/utils/discover/eventView.spec.jsx | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/static/app/utils/discover/eventView.tsx b/static/app/utils/discover/eventView.tsx index eeb71834b8e03e..03187fa0807912 100644 --- a/static/app/utils/discover/eventView.tsx +++ b/static/app/utils/discover/eventView.tsx @@ -508,7 +508,6 @@ class EventView { 'sorts', 'project', 'environment', - 'display', 'topEvents', ]; @@ -547,6 +546,13 @@ class EventView { return false; } + // compare Display Mode selections + // undefined Display Mode values default to "default" + const currentDisplayMode = this.display ?? DisplayModes.DEFAULT; + const otherDisplayMode = other.display ?? DisplayModes.DEFAULT; + if (!isEqual(currentDisplayMode, otherDisplayMode)) { + return false; + } return true; } diff --git a/tests/js/spec/utils/discover/eventView.spec.jsx b/tests/js/spec/utils/discover/eventView.spec.jsx index f5309140f8c1d6..2ccc88fcfb5fcb 100644 --- a/tests/js/spec/utils/discover/eventView.spec.jsx +++ b/tests/js/spec/utils/discover/eventView.spec.jsx @@ -2671,6 +2671,25 @@ describe('EventView.isEqualTo()', function () { expect(eventView.isEqualTo(eventView2)).toBe(false); } }); + + it('undefined display type equals default display type', function () { + const state = { + id: '1234', + name: 'best query', + fields: [{field: 'count()'}, {field: 'project.id'}], + sorts: generateSorts(['count']), + query: 'event.type:error', + project: [42], + start: '2019-10-01T00:00:00', + end: '2019-10-02T00:00:00', + statsPeriod: '14d', + environment: ['staging'], + yAxis: 'fam', + }; + const eventView = new EventView(state); + const eventView2 = new EventView({...state, display: 'default'}); + expect(eventView.isEqualTo(eventView2)).toBe(true); + }); }); describe('EventView.getResultsViewUrlTarget()', function () {