Created
May 20, 2014 13:34
-
-
Save djcp/7988cfe8b37924d53bd7 to your computer and use it in GitHub Desktop.
angular magic.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/app/assets/javascripts/qdw/controllers/home_page_controller.js.coffee b/app/assets/javascripts/qdw/controllers/home_page_controller.js.coffee | |
index ed7acde..24c8ee3 100644 | |
--- a/app/assets/javascripts/qdw/controllers/home_page_controller.js.coffee | |
+++ b/app/assets/javascripts/qdw/controllers/home_page_controller.js.coffee | |
@@ -1,2 +1,3 @@ | |
-qdw.controller 'HomePageCtrl', ($scope, PageConfiguration) -> | |
+qdw.controller 'HomePageCtrl', ($scope, PageConfiguration, DateFilters) -> | |
$scope.layout = PageConfiguration.current() | |
+ DateFilters.hideDateFilters = true | |
diff --git a/app/assets/javascripts/qdw/controllers/initiatives_page_controller.js.coffee b/app/assets/javascripts/qdw/controllers/initiatives_page_controller.js.coffee | |
index 5e758c1..c622242 100644 | |
--- a/app/assets/javascripts/qdw/controllers/initiatives_page_controller.js.coffee | |
+++ b/app/assets/javascripts/qdw/controllers/initiatives_page_controller.js.coffee | |
@@ -1,5 +1,12 @@ | |
-qdw.controller 'InitiativesPageCtrl', ($scope, $routeParams, PageConfiguration, Initiative) -> | |
+qdw.controller 'InitiativesPageCtrl', ( | |
+ $scope, | |
+ $routeParams, | |
+ PageConfiguration, | |
+ Initiative, | |
+ DateFilters, | |
+) -> | |
$scope.layout = PageConfiguration.current() | |
+ DateFilters.hideDateFilters = true | |
Initiative.get(id: $routeParams.id).then (initiative) -> | |
$scope.initiative = initiative | |
diff --git a/app/assets/javascripts/qdw/controllers/sections/entity_comparisons_controller.js.coffee b/app/assets/javascripts/qdw/controllers/sections/entity_comparisons_controller.js.coffee | |
index 00d6e32..c6d250f 100644 | |
--- a/app/assets/javascripts/qdw/controllers/sections/entity_comparisons_controller.js.coffee | |
+++ b/app/assets/javascripts/qdw/controllers/sections/entity_comparisons_controller.js.coffee | |
@@ -4,30 +4,40 @@ qdw.controller 'EntityComparisonsCtrl', ( | |
EntityGroupings, | |
EntityComparisons, | |
Flash, | |
+ DateFilters, | |
) -> | |
$scope.populated = false | |
$scope.$on 'filtersChanged', (event) -> | |
$scope.populated = false | |
- _getEntityComparisons($scope.selectedGrouping, $scope.edType) | |
+ DateFilters.setCachedDates(DateFilters.startDate, DateFilters.endDate) | |
+ _getEntityComparisons() | |
$scope.$on 'edTypeChanged', (event, edType) -> | |
$scope.edType = edType | |
$scope.populated = false | |
- _getEntityComparisons($scope.selectedGrouping, $scope.edType) | |
+ _getEntityComparisons() | |
$scope.$watch 'selectedGrouping', (newVal, oldVal) -> | |
return unless newVal | |
$scope.populated = false | |
- _getEntityComparisons($scope.selectedGrouping, $scope.edType) | |
+ _getEntityComparisons() | |
EntityGroupings.query().then (groupings) -> | |
$scope.entityGroupings = groupings | |
$scope.selectedGrouping = groupings[0].name | |
- _getEntityComparisons = (grouping, edType) => | |
- EntityComparisons.get(grouping: grouping, edType: edType).then (comparisons) -> | |
+ _getEntityComparisons = => | |
+ DateFilters.setDateType('Encounter') | |
+ dates = DateFilters.getResolvedDates() | |
+ params = | |
+ grouping: $scope.selectedGrouping, | |
+ edType: $scope.edType, | |
+ startDate: dates.startDate, | |
+ endDate: dates.endDate | |
+ | |
+ EntityComparisons.get(params).then (comparisons) -> | |
$scope.entityComparisons = comparisons | |
if _.isEmpty($scope.entityComparisons.data) | |
Flash.set 'error', 'No comparison results were found.' | |
diff --git a/app/assets/javascripts/qdw/controllers/sections/payer_mix_controller.js.coffee b/app/assets/javascripts/qdw/controllers/sections/payer_mix_controller.js.coffee | |
index bce8d47..4a8f13d 100644 | |
--- a/app/assets/javascripts/qdw/controllers/sections/payer_mix_controller.js.coffee | |
+++ b/app/assets/javascripts/qdw/controllers/sections/payer_mix_controller.js.coffee | |
@@ -1,10 +1,21 @@ | |
-qdw.controller 'PayerMixCtrl', ($scope, PayerMix, NormalizeStackedBarData) -> | |
+qdw.controller 'PayerMixCtrl', ( | |
+ $scope, | |
+ PayerMix, | |
+ NormalizeStackedBarData, | |
+ DateFilters, | |
+) -> | |
$scope.populated = false | |
$scope.yAxisTickOverride = (yAxisValues) -> '' | |
$scope.toolTipContent = (key, x, y, event) -> "#{key}: #{event.value} #{x}" | |
_refreshPayerMix = -> | |
- params = { edType: $scope.edType } | |
+ DateFilters.setDateType('Encounter') | |
+ dates = DateFilters.getResolvedDates() | |
+ params = | |
+ edType: $scope.edType, | |
+ startDate: dates.startDate, | |
+ endDate: dates.endDate | |
+ | |
PayerMix.query(params).then (payerMix) -> | |
$scope.data = NormalizeStackedBarData.normalize(payerMix) | |
$scope.populated = true | |
@@ -16,6 +27,7 @@ qdw.controller 'PayerMixCtrl', ($scope, PayerMix, NormalizeStackedBarData) -> | |
$scope.$on 'filtersChanged', (event) -> | |
$scope.populated = false | |
+ DateFilters.setCachedDates(DateFilters.startDate, DateFilters.endDate) | |
_refreshPayerMix() | |
_refreshPayerMix() | |
diff --git a/app/assets/javascripts/qdw/controllers/sections/reports_controller.js.coffee b/app/assets/javascripts/qdw/controllers/sections/reports_controller.js.coffee | |
index ff7dff9..2eaada9 100644 | |
--- a/app/assets/javascripts/qdw/controllers/sections/reports_controller.js.coffee | |
+++ b/app/assets/javascripts/qdw/controllers/sections/reports_controller.js.coffee | |
@@ -10,6 +10,7 @@ qdw.controller 'ReportsCtrl', ( | |
filterState, | |
DateFormatter, | |
ColumnFilter, | |
+ DateFilters, | |
) -> | |
$scope.populated = false | |
@@ -43,6 +44,17 @@ qdw.controller 'ReportsCtrl', ( | |
totalServerItems: 'totalServerItems' | |
useExternalSorting: true | |
+ initializeDateSelections = (dateType) -> | |
+ if $scope.viewingFavorite && dateType != 'None' | |
+ DateFilters.setDateType('Favorite') | |
+ dates = DateFilters.getResolvedDates() | |
+ DateFilters.setCachedDates(dates.startDate, dates.endDate) | |
+ else | |
+ DateFilters.setDateType(dateType) | |
+ DateFilters.hideDateFilters = (dateType == 'None') | |
+ dates = DateFilters.getResolvedDates() | |
+ DateFilters.setCachedDates(dates.startDate, dates.endDate) | |
+ | |
$scope.applyColumnarFilters = (columns) -> | |
return unless $scope.reportData | |
$scope.columnarFilters = | |
@@ -74,7 +86,9 @@ qdw.controller 'ReportsCtrl', ( | |
} | |
columnFilters: $scope.columnarFilters | |
hiddenColumns: $scope.hiddenColumnNames | |
- favoriteConfig = favorite: angular.extend(favoriteMetadata, filterState.selected) | |
+ favoriteConfig = favorite: angular.extend( | |
+ favoriteMetadata, filterState.selected, DateFilters.getResolvedDates() | |
+ ) | |
createdFlash = -> Flash.set('success', 'Successfully added to favorites!') | |
errorFlash = -> Flash.set('error', 'Favorite was not saved, please try again.') | |
new Favorites(favoriteConfig).save().then createdFlash, errorFlash | |
@@ -96,13 +110,17 @@ qdw.controller 'ReportsCtrl', ( | |
if inMeasureDetailReport() | |
Measures.get(id: reportParams.measure_id).then (measure) -> | |
$scope.reportName = measure.name | |
+ DateFilters.hideDateFilters = true | |
else | |
- Report.getNameForID(reportParams.id).then (reportName) -> | |
- $scope.reportName = reportName | |
+ Report.getMetadataForID(reportParams.id).then (report) -> | |
+ $scope.reportName = report.name | |
+ initializeDateSelections(report.date_type) | |
loadReportData = -> | |
+ aggregrateFilters = _.extend(filterState.selected, DateFilters.getResolvedDates()) | |
params = _.extend( | |
reportParams, | |
+ filters: aggregrateFilters, | |
columnarFilters: $scope.columnarFilters, | |
$scope.sortOptions, | |
$scope.pagingOptions | |
@@ -165,8 +183,7 @@ qdw.controller 'ReportsCtrl', ( | |
if favorite.measureId then measureId = { measure_id: favorite.measureId } | |
filters = _.pick favorite, 'ageRanges', 'chronicConditions', | |
'encounterInPeriod', 'facilities', 'providers', 'payers', 'genders', | |
- 'languages', 'races', 'ethnicities', 'endDate', 'startDate', 'period', | |
- 'periodType' | |
+ 'languages', 'races', 'ethnicities', 'period', 'periodType' | |
filterState.apply(filters) | |
$scope.$watch 'pagingOptions', ((newVal, oldVal) -> | |
@@ -207,14 +224,19 @@ qdw.controller 'ReportsCtrl', ( | |
$scope.$on 'filtersChanged', -> | |
$scope.populated = false | |
+ DateFilters.setCachedDates(DateFilters.startDate, DateFilters.endDate) | |
loadReportData() | |
+ .then loadTableConfig | |
if $location.path().match /favorite/ | |
$scope.viewingFavorite = true | |
+ DateFilters.hideDateFilters = false | |
Favorites.get($routeParams.id).then (favorite) -> | |
loadFavoriteConfig(favorite) | |
$scope.hiddenColumnNames = favorite.hiddenColumns | |
+ DateFilters.setDateType('Favorite') | |
+ DateFilters.setCachedDates(favorite.startDate, favorite.endDate) | |
initializeReport(favorite.reportId).then -> | |
$scope.sortOptions = favorite.sortOptions | |
unless _(favorite.columnFilters).isEmpty() | |
diff --git a/app/assets/javascripts/qdw/controllers/utilization_dashboard_controller.js.coffee b/app/assets/javascripts/qdw/controllers/utilization_dashboard_controller.js.coffee | |
index 960d707..2cf259a 100644 | |
--- a/app/assets/javascripts/qdw/controllers/utilization_dashboard_controller.js.coffee | |
+++ b/app/assets/javascripts/qdw/controllers/utilization_dashboard_controller.js.coffee | |
@@ -1,6 +1,18 @@ | |
-qdw.controller 'UtilizationDashboardCtrl', ($scope, PageConfiguration) -> | |
+qdw.controller 'UtilizationDashboardCtrl', ( | |
+ $scope, | |
+ PageConfiguration, | |
+ DateFilters, | |
+) -> | |
$scope.layout = PageConfiguration.current() | |
$scope.edType = 'clinical' | |
+ DateFilters.hideDateFilters = false | |
+ | |
+ initializeSelectedDates = -> | |
+ DateFilters.setDateType('Encounter') | |
+ dates = DateFilters.getResolvedDates() | |
+ DateFilters.setCachedDates(dates.startDate, dates.endDate) | |
+ | |
+ initializeSelectedDates() | |
$scope.$watch 'edType', ((newVal, oldVal) -> | |
return if newVal is oldVal | |
diff --git a/app/assets/javascripts/qdw/directives/date_filter.js.coffee b/app/assets/javascripts/qdw/directives/date_filter.js.coffee | |
new file mode 100644 | |
index 0000000..7d4d871 | |
--- /dev/null | |
+++ b/app/assets/javascripts/qdw/directives/date_filter.js.coffee | |
@@ -0,0 +1,7 @@ | |
+qdw.directive 'dateFilter', (DateFilters)-> | |
+ restrict: 'E' | |
+ replace: true | |
+ templateUrl: 'directives/date-filter.html' | |
+ link: (scope) -> | |
+ scope.dateSettings = DateFilters | |
+ scope: {} | |
diff --git a/app/assets/javascripts/qdw/factories/date_filters.js.coffee b/app/assets/javascripts/qdw/factories/date_filters.js.coffee | |
new file mode 100644 | |
index 0000000..aeeb737 | |
--- /dev/null | |
+++ b/app/assets/javascripts/qdw/factories/date_filters.js.coffee | |
@@ -0,0 +1,49 @@ | |
+qdw.factory 'DateFilters', ($filter)-> | |
+ class DateFilters | |
+ today = new Date() | |
+ tenDaysBehind = new Date().setDate(today.getDate()-10) | |
+ tenDaysForward = new Date().setDate(today.getDate()+10) | |
+ | |
+ setDateType: (@dateType) -> | |
+ | |
+ setCachedDates: (startDate, endDate) => | |
+ if @dateType is 'Appointment' | |
+ @startDate = @cachedAppointmentStartDate = startDate | |
+ @endDate = @cachedAppointmentEndDate = endDate | |
+ else if @dateType is 'Encounter' | |
+ @startDate = @cachedEncounterStartDate = startDate | |
+ @endDate = @cachedEncounterEndDate = endDate | |
+ else if @dateType is 'Favorite' | |
+ @startDate = @cachedFavoriteStartDate = startDate | |
+ @endDate = @cachedFavoriteEndDate = endDate | |
+ | |
+ getResolvedDates: => | |
+ if @cachedEncounterStartDate | |
+ encounterStartDate = @cachedEncounterStartDate | |
+ encounterEndDate = @cachedEncounterEndDate | |
+ else | |
+ encounterStartDate = tenDaysBehind | |
+ encounterEndDate = today | |
+ | |
+ if @cachedAppointmentStartDate | |
+ appointmentStartDate = @cachedAppointmentStartDate | |
+ appointmentEndDate = @cachedAppointmentEndDate | |
+ else | |
+ appointmentStartDate = today | |
+ appointmentEndDate = tenDaysForward | |
+ | |
+ dateTypeMapping = | |
+ Encounter: | |
+ startDate: $filter('date')(encounterStartDate, 'yyyy-MM-dd') | |
+ endDate: $filter('date')(encounterEndDate, 'yyyy-MM-dd') | |
+ Appointment: | |
+ startDate: $filter('date')(appointmentStartDate, 'yyyy-MM-dd') | |
+ endDate: $filter('date')(appointmentEndDate, 'yyyy-MM-dd') | |
+ Favorite: | |
+ startDate: $filter('date')(@cachedFavoriteStartDate, 'yyyy-MM-dd') | |
+ endDate: $filter('date')(@cachedFavoriteEndDate, 'yyyy-MM-dd') | |
+ None: {} | |
+ | |
+ dateTypeMapping[@dateType] || dateTypeMapping['Encounter'] | |
+ | |
+ new DateFilters | |
diff --git a/app/assets/javascripts/qdw/services/entity_comparison.js.coffee b/app/assets/javascripts/qdw/services/entity_comparison.js.coffee | |
index b3317d8..cee5bf9 100644 | |
--- a/app/assets/javascripts/qdw/services/entity_comparison.js.coffee | |
+++ b/app/assets/javascripts/qdw/services/entity_comparison.js.coffee | |
@@ -1,6 +1,7 @@ | |
qdw.factory 'EntityComparisons', ($http, filterState) -> | |
get: (params) -> | |
+ filterParams = _.extend(filterState.selected, _(params).pick('startDate', 'endDate')) | |
comparisonParams = | |
- { grouping: params.grouping, edType: params.edType, filters: filterState.selected } | |
+ { grouping: params.grouping, edType: params.edType, filters: filterParams } | |
$http.post('/api/entity_comparisons', comparisonParams).then (response) -> | |
{ data: response.data } | |
diff --git a/app/assets/javascripts/qdw/services/filter_state.js.coffee b/app/assets/javascripts/qdw/services/filter_state.js.coffee | |
index 965d53f..c0d53af 100644 | |
--- a/app/assets/javascripts/qdw/services/filter_state.js.coffee | |
+++ b/app/assets/javascripts/qdw/services/filter_state.js.coffee | |
@@ -14,8 +14,6 @@ qdw.service 'filterState', ( | |
applyingFilterSelections = false | |
selected = | |
- startDate: '2011-01-01' | |
- endDate: '2011-01-11' | |
encounterInPeriod: false | |
chronicConditionOperator: '0' | |
diff --git a/app/assets/javascripts/qdw/services/payer_mix.js.coffee b/app/assets/javascripts/qdw/services/payer_mix.js.coffee | |
index 5f93203..a985cbd 100644 | |
--- a/app/assets/javascripts/qdw/services/payer_mix.js.coffee | |
+++ b/app/assets/javascripts/qdw/services/payer_mix.js.coffee | |
@@ -1,6 +1,7 @@ | |
qdw.service 'PayerMix', ($http, filterState) -> | |
query: (params) -> | |
- payerMixParams = { edType: params.edType, filters: filterState.selected } | |
+ filterParams = _.extend(filterState.selected, _(params).pick('startDate', 'endDate')) | |
+ payerMixParams = { edType: params.edType, filters: filterParams } | |
payerMixURL = '/api/payer_mix' | |
$http.post(payerMixURL, payerMixParams).then (response) -> | |
response.data | |
diff --git a/app/assets/javascripts/qdw/services/report.js.coffee b/app/assets/javascripts/qdw/services/report.js.coffee | |
index 344103e..4fd8b4a 100644 | |
--- a/app/assets/javascripts/qdw/services/report.js.coffee | |
+++ b/app/assets/javascripts/qdw/services/report.js.coffee | |
@@ -10,7 +10,7 @@ qdw.factory 'Report', ($http, filterState) -> | |
get: (params) => | |
reportParams = | |
- filters: filterState.selected | |
+ filters: params.filters | |
column_filters: params.columnarFilters | |
initiative_id: params.initiative_id | |
measure_id: params.measure_id | |
@@ -27,14 +27,14 @@ qdw.factory 'Report', ($http, filterState) -> | |
@exportBase, | |
report_id: params.id | |
measure_id: params.measure_id | |
- filters: filterState.selected | |
+ filters: params.filters | |
).then (response) -> | |
response.data | |
- getNameForID: (id) => | |
+ getMetadataForID: (id) => | |
@query().then (reports) -> | |
report = _.detect reports, (report) -> String(report.id) == String(id) | |
- if report then report.name | |
+ if report then report | |
getMeasureDetailID: => | |
@query().then (reports) -> | |
diff --git a/app/assets/javascripts/qdw/templates/directives/date-filter.html b/app/assets/javascripts/qdw/templates/directives/date-filter.html | |
new file mode 100644 | |
index 0000000..ce28fa5 | |
--- /dev/null | |
+++ b/app/assets/javascripts/qdw/templates/directives/date-filter.html | |
@@ -0,0 +1,5 @@ | |
+<div ng-hide="dateSettings.hideDateFilters"> | |
+ <label for="start-date-picker">Date Range:</label> | |
+ <input datepicker id="start-date-picker" name="startDate" class="datepicker" ng-model="dateSettings.startDate"></input> to | |
+ <input datepicker id="end-date-picker" name="endDate" class="datepicker" ng-model="dateSettings.endDate"></input> | |
+</div> | |
diff --git a/app/assets/javascripts/qdw/templates/global_filters.html b/app/assets/javascripts/qdw/templates/global_filters.html | |
index ea15367..b45c475 100644 | |
--- a/app/assets/javascripts/qdw/templates/global_filters.html | |
+++ b/app/assets/javascripts/qdw/templates/global_filters.html | |
@@ -19,11 +19,6 @@ | |
</section> | |
<section id="time-filters" ng-switch on="periodFilter"> | |
- <div id="date-range-filter" ng-switch-when="dates"> | |
- <label for="start-date-picker">Date Range:</label> | |
- <input datepicker id="start-date-picker" name="startDate" class="datepicker" ng-model="selected.startDate"></input> to | |
- <input datepicker id="end-date-picker" name="endDate" class="datepicker" ng-model="selected.endDate"></input> | |
- </div> | |
<div id="period-filters" ng-switch-when="periods"> | |
<span class="control-group"> | |
<label for="period-type-filter">Period Type:</label> | |
@@ -38,6 +33,7 @@ | |
<label for="encounter-in-period-filter">Encounter in Period</label> | |
</span> | |
</div> | |
+ <date-filter id="date-range-filter" report-date-type="dateType" deactivated="hideDateFilters"></date-filter> | |
</section> | |
</section> | |
diff --git a/app/models/report.rb b/app/models/report.rb | |
index 2b1fa07..a229e35 100644 | |
--- a/app/models/report.rb | |
+++ b/app/models/report.rb | |
@@ -4,12 +4,13 @@ class Report < ActiveRecord::Base | |
alias_attribute :name, :ReportName | |
alias_attribute :proc_name, :ReportSp | |
alias_attribute :schema, :ReportSpSchema | |
+ alias_attribute :date_type, :DateType | |
self.primary_key = 'ReportID' | |
self.table_name = Rails.application.config.report_table_name | |
def self.enabled | |
- select('"ReportID", "ReportName", "ReportSp", "ReportSection", "ReportSpSchema"') | |
+ select('"ReportID", "ReportName", "ReportSp", "ReportSection", "ReportSpSchema", "DateType"') | |
.where('"ReportEnabled" = 1') | |
end | |
@@ -31,7 +32,7 @@ class Report < ActiveRecord::Base | |
end | |
def as_json(options = {}) | |
- super(methods: [:name, :id, :proc_name]) | |
+ super(methods: [:name, :id, :proc_name, :date_type]) | |
end | |
private | |
diff --git a/db/migrate/20140408172321_change_period_to_text.rb b/db/migrate/20140408172321_change_period_to_text.rb | |
new file mode 100644 | |
index 0000000..b7b6bd3 | |
--- /dev/null | |
+++ b/db/migrate/20140408172321_change_period_to_text.rb | |
@@ -0,0 +1,5 @@ | |
+class ChangePeriodToText < ActiveRecord::Migration | |
+ def change | |
+ change_column :favorites, :period, :text | |
+ end | |
+end | |
diff --git a/db/schema.rb b/db/schema.rb | |
index 8e3f413..11b07cd 100644 | |
--- a/db/schema.rb | |
+++ b/db/schema.rb | |
@@ -11,7 +11,7 @@ | |
# | |
# It's strongly recommended that you check this file into your version control system. | |
-ActiveRecord::Schema.define(version: 20140408011538) do | |
+ActiveRecord::Schema.define(version: 20140408172321) do | |
# These are extensions that must be enabled in order to support this database | |
enable_extension "plpgsql" | |
@@ -40,7 +40,7 @@ ActiveRecord::Schema.define(version: 20140408011538) do | |
t.text "start_date" | |
t.text "end_date" | |
t.integer "period_type" | |
- t.integer "period" | |
+ t.text "period" | |
t.boolean "encounter_in_period" | |
t.integer "report_id" | |
t.text "sort_options" | |
@@ -98,6 +98,7 @@ ActiveRecord::Schema.define(version: 20140408011538) do | |
t.string "ReportSpSchema" | |
t.string "ReportSection" | |
t.integer "ReportEnabled" | |
+ t.string "DateType" | |
end | |
create_table "sessions", force: true do |t| | |
diff --git a/db/seeds/report_table_seeder.rb b/db/seeds/report_table_seeder.rb | |
index 3b792a7..cce6968 100644 | |
--- a/db/seeds/report_table_seeder.rb | |
+++ b/db/seeds/report_table_seeder.rb | |
@@ -9,7 +9,8 @@ class ReportTableSeeder | |
"ReportSp" varchar(255), | |
"ReportSpSchema" varchar(255), | |
"ReportSection" varchar(255), | |
- "ReportEnabled" integer | |
+ "ReportEnabled" integer, | |
+ "DateType" varchar(255) | |
); | |
INSERT INTO #{table_name} ( | |
"ReportID", | |
@@ -17,22 +18,23 @@ class ReportTableSeeder | |
"ReportSp", | |
"ReportSpSchema", | |
"ReportSection", | |
- "ReportEnabled" | |
+ "ReportEnabled", | |
+ "DateType" | |
) | |
VALUES | |
- (12, 'Significant Event', 'uspReportSignificantEvent','rpt','patient management', 1), | |
- (13, 'High Cost', 'uspReportHighCost','rpt', 'patient management', 1), | |
- (14, 'High Risk', 'uspReportHighRisk','rpt', 'patient management', 1), | |
- (15, 'NonEngaging', 'uspReportNonEngaging','rpt', 'patient management', 1), | |
- (16, 'Past Visit', 'uspReportPastVisit', 'rpt','patient management', 1), | |
- (17, 'Patient List', 'uspReportPatientList','rpt', 'patient management', 1), | |
- (18, 'Upcoming Visit', 'uspReportUpcomingVisit','rpt', 'patient management', 1), | |
- (19, 'Ed Detail', 'uspReportEdDetail', 'rpt','utilization', 1), | |
- (4, 'Ed Frequent Flyer Report', 'uspEdFrequentFlyerReport','rpt', 'utilization', 1), | |
- (21, 'Attribution Mismatch Detail', 'uspReportAttributionMismatchDetail','rpt', 'patient management', 1), | |
- (10, 'Measure Detail', 'uspGetMeasureDetail','web', 'measures', 1), | |
- (25, 'Disabled Report', 'uspReportPatientList','rpt', 'patient management', 0), | |
- (1, 'Scorecard Report', 'uspScorecard_Report','rpt', 'scorecard', 1);| | |
+ (12, 'Significant Event', 'uspReportSignificantEvent','rpt','patient management', 1, 'Encounter'), | |
+ (13, 'High Cost', 'uspReportHighCost','rpt', 'patient management', 1, 'Encounter'), | |
+ (14, 'High Risk', 'uspReportHighRisk','rpt', 'patient management', 1, 'Encounter'), | |
+ (15, 'NonEngaging', 'uspReportNonEngaging','rpt', 'patient management', 1, 'None'), | |
+ (16, 'Past Visit', 'uspReportPastVisit', 'rpt','patient management', 1, 'Encounter'), | |
+ (17, 'Patient List', 'uspReportPatientList','rpt', 'patient management', 1, 'Encounter'), | |
+ (18, 'Upcoming Visit', 'uspReportUpcomingVisit','rpt', 'patient management', 1, 'Appointment'), | |
+ (19, 'Ed Detail', 'uspReportEdDetail', 'rpt','utilization', 1, 'Encounter'), | |
+ (4, 'Ed Frequent Flyer Report', 'uspEdFrequentFlyerReport','rpt', 'utilization', 1, 'Encounter'), | |
+ (21, 'Attribution Mismatch Detail', 'uspReportAttributionMismatchDetail','rpt', 'patient management', 1, 'Encounter'), | |
+ (10, 'Measure Detail', 'uspGetMeasureDetail','web', 'measures', 1, 'Encounter'), | |
+ (25, 'Disabled Report', 'uspReportPatientList','rpt', 'patient management', 0, 'Encounter'), | |
+ (1, 'Scorecard Report', 'uspScorecard_Report','rpt', 'scorecard', 1, 'Encounter');| | |
ActiveRecord::Base.connection.execute statements | |
end | |
diff --git a/doc/api/samples/reports/4-filtered.json b/doc/api/samples/reports/4-filtered.json | |
index 74a6cc3..5d18349 100644 | |
--- a/doc/api/samples/reports/4-filtered.json | |
+++ b/doc/api/samples/reports/4-filtered.json | |
@@ -1,20 +1,20 @@ | |
[ | |
- {"hidden-PersonID": 2002, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05"}, | |
- {"hidden-PersonID": 2004, "Name": "Gergich, Gary", "Age__int": 53, "Last_Visit_Date__dt": "2013-10-05"}, | |
- {"hidden-PersonID": 2006, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05"}, | |
- {"hidden-PersonID": 2007, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05"}, | |
- {"hidden-PersonID": 2010, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05"}, | |
- {"hidden-PersonID": 2011, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05"}, | |
- {"hidden-PersonID": 2013, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05"}, | |
- {"hidden-PersonID": 2017, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05"}, | |
- {"hidden-PersonID": 2019, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05"}, | |
- {"hidden-PersonID": 2024, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05"}, | |
- {"hidden-PersonID": 2029, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05"}, | |
- {"hidden-PersonID": 2032, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05"}, | |
- {"hidden-PersonID": 2033, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05"}, | |
- {"hidden-PersonID": 2034, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05"}, | |
- {"hidden-PersonID": 2040, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05"}, | |
- {"hidden-PersonID": 2041, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05"}, | |
- {"hidden-PersonID": 2048, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05"}, | |
- {"hidden-PersonID": 2050, "Name": "Happy 50th Birthday", "Age__int": 50, "Last_Visit_Date__dt": "2013-12-19"} | |
+ {"hidden-PersonID": 2002, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2004, "Name": "Gergich, Gary", "Age__int": 53, "Last_Visit_Date__dt": "2013-10-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2006, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2007, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2010, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2011, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2013, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2017, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2019, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2024, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2029, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2032, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2033, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2034, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2040, "Name": "Knope, Leslie", "Age__int": 35, "Last_Visit_Date__dt": "2013-01-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2041, "Name": "Swanson, Ron", "Age__int": 45, "Last_Visit_Date__dt": "2005-12-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2048, "Name": "Haverford, Tom", "Age__int": 26, "Last_Visit_Date__dt": "2013-09-05", "patinfo-Sex": "M"}, | |
+ {"hidden-PersonID": 2050, "Name": "Happy 50th Birthday", "Age__int": 50, "Last_Visit_Date__dt": "2013-12-19", "patinfo-Sex": "M"} | |
] | |
diff --git a/spec/features/date_filter_spec.rb b/spec/features/date_filter_spec.rb | |
new file mode 100644 | |
index 0000000..8580e8e | |
--- /dev/null | |
+++ b/spec/features/date_filter_spec.rb | |
@@ -0,0 +1,95 @@ | |
+require 'spec_helper' | |
+ | |
+feature 'Time filters appear on correct pages', js: true do | |
+ scenario 'Only the correct time filters appear on each page type' do | |
+ create(:page_configuration, :with_initiative_page) | |
+ create(:page_configuration, :with_report) | |
+ create(:page_configuration, :with_homepage) | |
+ sign_in create(:user, :with_full_attributions) | |
+ | |
+ visit root_path | |
+ expect(global_filters).to have_only_period_based_filters | |
+ | |
+ visit cms_aco_initiative_path | |
+ initiative_on_page.view_report_on_measure | |
+ wait_for_page_ready do | |
+ expect(global_filters).to have_only_period_based_filters | |
+ end | |
+ | |
+ navigate_to_frequent_flyer | |
+ wait_for_page_ready do | |
+ expect(global_filters).to have_only_date_range_filters | |
+ end | |
+ end | |
+end | |
+ | |
+feature 'Date Ranges', js: true do | |
+ scenario 'have correct default values for start and end date' do | |
+ sign_in create(:user, :with_full_attributions) | |
+ create(:page_configuration, :with_report) | |
+ create(:page_configuration, :with_utilization_dashboard) | |
+ | |
+ visit frequent_flyer_report_path | |
+ expect(date_filters_on_page.start_date).to eq ten_days_behind | |
+ expect(date_filters_on_page.end_date).to eq today | |
+ | |
+ visit upcoming_visits_report_path | |
+ expect(date_filters_on_page.start_date).to eq today | |
+ expect(date_filters_on_page.end_date).to eq ten_days_forward | |
+ | |
+ visit non_engaging_report_path | |
+ expect(date_filters_on_page).to have_no_date_filters | |
+ | |
+ visit utilization_dashboard_path | |
+ expect(date_filters_on_page.start_date).to eq ten_days_behind | |
+ expect(date_filters_on_page.end_date).to eq today | |
+ end | |
+ | |
+ scenario 'persist when changing reports types' do | |
+ sign_in create(:user, :with_full_attributions) | |
+ create(:page_configuration, :with_report) | |
+ | |
+ start_date = '1/1/11' | |
+ end_date = '1/11/11' | |
+ | |
+ visit frequent_flyer_report_path | |
+ date_filters_on_page.set_dates(start_date, end_date) | |
+ global_filters.apply | |
+ | |
+ navigate_to_upcoming_visit_report | |
+ wait_for_page_ready(0.5) do | |
+ expect(date_filters_on_page.start_date).to eq today | |
+ expect(date_filters_on_page.end_date).to eq ten_days_forward | |
+ end | |
+ | |
+ navigate_to_frequent_flyer | |
+ wait_for_page_ready(0.5) do | |
+ expect(date_filters_on_page.start_date).to eq start_date | |
+ expect(date_filters_on_page.end_date).to eq end_date | |
+ end | |
+ end | |
+end | |
+ | |
+def ten_days_forward | |
+ (Time.now + 10.days).strftime('%Y-%m-%d') | |
+end | |
+ | |
+def ten_days_behind | |
+ (Time.now - 10.days).strftime('%Y-%m-%d') | |
+end | |
+ | |
+def today | |
+ Time.now.strftime('%Y-%m-%d') | |
+end | |
+ | |
+def global_filters | |
+ @global_filters ||= GlobalFiltersOnPage.new | |
+end | |
+ | |
+def initiative_on_page | |
+ @initiative_on_page ||= Pages::Initiative.new | |
+end | |
+ | |
+def date_filters_on_page | |
+ @date_filters_on_page ||= Pages::DateFilters.new | |
+end | |
diff --git a/spec/features/global_filters_spec.rb b/spec/features/global_filters_spec.rb | |
index b41ef29..4aa5767 100644 | |
--- a/spec/features/global_filters_spec.rb | |
+++ b/spec/features/global_filters_spec.rb | |
@@ -27,30 +27,6 @@ feature 'Payer filter exists with options', js: true do | |
end | |
end | |
-feature 'Time filters appear on correct pages', js: true do | |
- scenario 'Only the correct time filters appear on each page type' do | |
- sign_in create(:user, :with_full_attributions) | |
- create(:page_configuration, :with_initiative_page) | |
- | |
- visit cms_aco_initiative_path | |
- expect(global_filters).to have_only_period_based_filters | |
- | |
- within initiative_on_page.initiative_card do | |
- click_link 'Diabetes A1C' | |
- end | |
- within initiative_on_page.measure_detail_card do | |
- click_link 'View details' | |
- end | |
- expect(global_filters).to have_only_period_based_filters | |
- | |
- navigate_to_utilization_dashboard | |
- expect(global_filters).to have_only_date_range_filters | |
- | |
- navigate_to_frequent_flyer | |
- expect(global_filters).to have_only_date_range_filters | |
- end | |
-end | |
- | |
feature 'Demographic filters', js: true do | |
scenario 'Demographic filters are populated' do | |
sign_in create(:user) | |
@@ -65,6 +41,7 @@ feature 'Demographic filters', js: true do | |
sign_in create(:user, :with_full_attributions) | |
create(:page_configuration, :with_report) | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
expect(report_on_page).to have_content_in_first_cell('Swanson, Ron') | |
diff --git a/spec/features/user_saves_a_favorite_report_spec.rb b/spec/features/user_saves_a_favorite_report_spec.rb | |
index ccc97dc..b164f1f 100644 | |
--- a/spec/features/user_saves_a_favorite_report_spec.rb | |
+++ b/spec/features/user_saves_a_favorite_report_spec.rb | |
@@ -42,6 +42,7 @@ feature 'User views Favorites', js: true do | |
scenario 'a favorite also captures the current filter state' do | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
global_filters.uncheck_all_box('providers') | |
global_filters.uncheck_all_box('facility') | |
find('#facilities-filter-label').click | |
@@ -73,6 +74,7 @@ feature 'User views Favorites', js: true do | |
scenario 'a favorite also captures the current report sorting and report filters' do | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
name_column = 'Name' | |
age_column = 'Age' | |
diff --git a/spec/features/user_views_report_spec.rb b/spec/features/user_views_report_spec.rb | |
index e47cba3..ab78ee2 100644 | |
--- a/spec/features/user_views_report_spec.rb | |
+++ b/spec/features/user_views_report_spec.rb | |
@@ -20,6 +20,7 @@ feature 'user views report', js: true do | |
ungrouped_person = 'Swanson, Ron' | |
grouped_person = 'Gergich, Gary' | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
expect(report_on_page).to have_content_in_first_cell(ungrouped_person) | |
report_on_page.apply_column_grouping_for 'Name' | |
@@ -34,16 +35,13 @@ feature 'user views report', js: true do | |
scenario 'user can select a date range' do | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
wait_for_page_ready do | |
expect(report_on_page).to have_content_in_first_cell 'Swanson, Ron' | |
end | |
- global_filters.click_on_date_input_for('startDate') | |
- global_filters.select_first_of_the_month | |
- global_filters.click_on_date_input_for('endDate') | |
- global_filters.navigate_to_next_month | |
- global_filters.select_first_of_the_month | |
+ global_filters.adjust_date_range | |
global_filters.apply | |
wait_for_page_ready do | |
@@ -70,6 +68,7 @@ feature 'user views report', js: true do | |
scenario 'cannot see hidden columns' do | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
expect(report_on_page).to have_no_content 'patinfo-sex' | |
expect(report_on_page).to have_no_content 'Sex' | |
@@ -77,6 +76,7 @@ feature 'user views report', js: true do | |
scenario 'can choose to show hidden columns' do | |
visit frequent_flyer_report_path | |
+ global_filters.set_date_filters_to_mockwarehouse_dates | |
sex_column_number = 5 | |
report_on_page.toggle_column_visibility(sex_column_number, true) | |
diff --git a/spec/javascripts/qdw/controllers/sections/reports_controller_spec.js.coffee b/spec/javascripts/qdw/controllers/sections/reports_controller_spec.js.coffee | |
index 2df62ef..1eeab43 100644 | |
--- a/spec/javascripts/qdw/controllers/sections/reports_controller_spec.js.coffee | |
+++ b/spec/javascripts/qdw/controllers/sections/reports_controller_spec.js.coffee | |
@@ -15,10 +15,10 @@ describe 'ReportsCtrl', -> | |
it 'calls the Report service when filters are changed', inject ($controller) -> | |
reportSpy = jasmine.createSpy('get').andReturn(then: -> then: -> then: ->) | |
- reportNameSpy = jasmine.createSpy('getNameForID').andReturn(then: ->) | |
+ reportMetadataSpy = jasmine.createSpy('getMetadataForID').andReturn(then: ->) | |
reportService = | |
get: reportSpy | |
- getNameForID: reportNameSpy | |
+ getMetadataForID: reportMetadataSpy | |
dependencies = | |
$scope: scope | |
@@ -32,15 +32,15 @@ describe 'ReportsCtrl', -> | |
scope.$digest() | |
expect(reportService.get).toHaveBeenCalled() | |
- expect(reportService.getNameForID).toHaveBeenCalled() | |
+ expect(reportService.getMetadataForID).toHaveBeenCalled() | |
describe 'when sorts are applied', -> | |
it 'calls the report service with correct sortOptions', inject ($controller) -> | |
reportSpy = jasmine.createSpy('get').andReturn(then: -> then: -> then: ->) | |
- reportNameSpy = jasmine.createSpy('getNameForID').andReturn(then: ->) | |
+ reportMetadataSpy = jasmine.createSpy('getMetadataForID').andReturn(then: ->) | |
reportService = | |
get: reportSpy | |
- getNameForID: reportNameSpy | |
+ getMetadataForID: reportMetadataSpy | |
sortInfo = { fields: ['name', 'age__int'], directions: ['asc', 'desc'], columns: {} } | |
dependencies = | |
@@ -64,10 +64,10 @@ describe 'ReportsCtrl', -> | |
it 'passes the new paging options to Report', inject ($controller) -> | |
reportSpy = jasmine.createSpy('get').andReturn(then: -> then: -> then: ->) | |
- reportNameSpy = jasmine.createSpy('getNameForID').andReturn(then: ->) | |
+ reportMetadataSpy = jasmine.createSpy('getMetadataForID').andReturn(then: ->) | |
reportService = | |
get: reportSpy | |
- getNameForID: reportNameSpy | |
+ getMetadataForID: reportMetadataSpy | |
dependencies = | |
$scope: scope | |
diff --git a/spec/javascripts/qdw/services/report_spec.js.coffee b/spec/javascripts/qdw/services/report_spec.js.coffee | |
index ebb1d5f..97fdf82 100644 | |
--- a/spec/javascripts/qdw/services/report_spec.js.coffee | |
+++ b/spec/javascripts/qdw/services/report_spec.js.coffee | |
@@ -8,14 +8,21 @@ describe 'Report', -> | |
$httpBackend = _$httpBackend_ | |
Report = _Report_ | |
- describe '.getNameForID', -> | |
- it 'returns the name for the report with given ID', -> | |
- $httpBackend.expectPOST('/api/reports').respond([{id: 4, name: 'Frequent'}]) | |
+ describe '.getMetadataForID', -> | |
+ it 'returns the metadata for the report with given ID', -> | |
+ $httpBackend.expectPOST('/api/reports').respond( | |
+ [{id: 4, name: 'Frequent Flyer', date_type: 'Encounter'}] | |
+ ) | |
name = undefined | |
- Report.getNameForID(4).then (reportName) -> | |
- name = reportName | |
+ dateType = undefined | |
+ | |
+ Report.getMetadataForID(4).then (report) -> | |
+ name = report.name | |
+ dateType = report.date_type | |
$httpBackend.flush() | |
- expect(name).toEqual 'Frequent' | |
+ | |
+ expect(name).toEqual 'Frequent Flyer' | |
+ expect(dateType).toEqual 'Encounter' | |
describe '.getMeasureDetailID', -> | |
it 'returns the id for the report with ReportSection = measures', -> | |
diff --git a/spec/support/features/api_helpers.rb b/spec/support/features/api_helpers.rb | |
index b05fcd6..0772fcc 100644 | |
--- a/spec/support/features/api_helpers.rb | |
+++ b/spec/support/features/api_helpers.rb | |
@@ -11,5 +11,13 @@ module Features | |
def frequent_flyer_report_path | |
reports_path(4) | |
end | |
+ | |
+ def upcoming_visits_report_path | |
+ reports_path(18) | |
+ end | |
+ | |
+ def non_engaging_report_path | |
+ reports_path(15) | |
+ end | |
end | |
end | |
diff --git a/spec/support/features/navigation_helpers.rb b/spec/support/features/navigation_helpers.rb | |
index e2beffc..efd8e9a 100644 | |
--- a/spec/support/features/navigation_helpers.rb | |
+++ b/spec/support/features/navigation_helpers.rb | |
@@ -21,6 +21,13 @@ module Features | |
end | |
end | |
+ def navigate_to_upcoming_visit_report | |
+ within(menu) do | |
+ click_link 'Patient Management' | |
+ click_link 'Upcoming Visit' | |
+ end | |
+ end | |
+ | |
def menu | |
find('#menu') | |
end | |
diff --git a/spec/support/page_objects/date_filters.rb b/spec/support/page_objects/date_filters.rb | |
new file mode 100644 | |
index 0000000..4a31a69 | |
--- /dev/null | |
+++ b/spec/support/page_objects/date_filters.rb | |
@@ -0,0 +1,28 @@ | |
+require_relative 'base' | |
+ | |
+module Pages | |
+ class DateFilters < Base | |
+ def start_date | |
+ find('#start-date-picker').value | |
+ end | |
+ | |
+ def end_date | |
+ find('#end-date-picker').value | |
+ end | |
+ | |
+ def has_no_date_filters? | |
+ all('#start-date-picker').empty? && | |
+ all('#end-date-picker').empty? | |
+ end | |
+ | |
+ def set_dates(start_date, end_date) | |
+ fill_in('startDate', with: start_date) | |
+ fill_in('endDate', with: end_date) | |
+ end | |
+ | |
+ def apply_dates | |
+ find('#date-range-filter').find_button('Apply').click | |
+ sleep 0.2 | |
+ end | |
+ end | |
+end | |
diff --git a/spec/support/page_objects/global_filters_on_page.rb b/spec/support/page_objects/global_filters_on_page.rb | |
index 519a8b3..79e8103 100644 | |
--- a/spec/support/page_objects/global_filters_on_page.rb | |
+++ b/spec/support/page_objects/global_filters_on_page.rb | |
@@ -140,6 +140,12 @@ class GlobalFiltersOnPage | |
choose('condition-and') | |
end | |
+ def set_date_filters_to_mockwarehouse_dates | |
+ fill_in('startDate', with: '2011-01-01') | |
+ fill_in('endDate', with: '2011-01-11') | |
+ apply | |
+ end | |
+ | |
private | |
def find_all_option_filter(filter) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment