From fa8688cf504c82d55f576ba58ae2459935e42481 Mon Sep 17 00:00:00 2001 From: Thaddaeus Dahlberg <16785863+tcdahlberg@users.noreply.github.com> Date: Wed, 10 Apr 2024 09:43:21 -0500 Subject: [PATCH 1/2] Used GMT for unit tests except one to test Daylight savings --- .../SummitEventsCancelReviewController.cls | 2 +- .../SummitEventsAddToCalendar_TEST.cls | 23 +++++++++++-------- .../classes/SummitEventsConfirmation_TEST.cls | 7 +++--- .../default/classes/SummitEventsFeed_TEST.cls | 13 ++++++----- .../SummitEventsTestSharedDataFactory.cls | 4 ++-- 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/force-app/main/default/classes/SummitEventsCancelReviewController.cls b/force-app/main/default/classes/SummitEventsCancelReviewController.cls index dceaf93c..9abcfd9a 100644 --- a/force-app/main/default/classes/SummitEventsCancelReviewController.cls +++ b/force-app/main/default/classes/SummitEventsCancelReviewController.cls @@ -50,7 +50,7 @@ public with sharing class SummitEventsCancelReviewController { eventInstance = [ SELECT Id, Instance_Title__c, Instance_Start_Date__c, Instance_End_Date__c, Instance_Start_Time__c, Instance_End_Time__c, Instance_Time_Zone__c, - Registration_Close_Date__c, Current_Available_Capacity__c, Active_Status__c + Registration_Close_Date__c, Current_Available_Capacity__c, Active_Status__c, Registration_Close_Time__c FROM Summit_Events_Instance__c W WHERE Id = :eventRegistration.Event_Instance__c WITH SECURITY_ENFORCED diff --git a/force-app/test/default/classes/SummitEventsAddToCalendar_TEST.cls b/force-app/test/default/classes/SummitEventsAddToCalendar_TEST.cls index 38b007b8..a8d998e6 100644 --- a/force-app/test/default/classes/SummitEventsAddToCalendar_TEST.cls +++ b/force-app/test/default/classes/SummitEventsAddToCalendar_TEST.cls @@ -8,7 +8,7 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testIcsFileGeneration() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { Test.startTest(); PageReference pageRef = Page.SummitEventsAddToCalendar; @@ -24,7 +24,7 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testForNullReturns() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { Test.startTest(); SummitEventsAddToCalendarController calendarController = new SummitEventsAddToCalendarController(); @@ -37,7 +37,7 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testGoogleCalendarLink() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { Test.startTest(); PageReference pageRef = Page.SummitEventsAddToCalendar; @@ -48,7 +48,7 @@ public class SummitEventsAddToCalendar_TEST { SummitEventsAddToCalendarController calendarController = new SummitEventsAddToCalendarController(); String startDate = calendarController.DTStart; String endDate = calendarController.DTEnd; - String comparePageReference = 'https://www.google.com/calendar/event?action=TEMPLATE&ctz=America%2FChicago&dates=' + startDate + '%2F' + endDate + '&details=&location=123+Electric+Ave.&sprop=%5Bevent_source_url%5DMap+Link+1&text=Test+Event+-+Test+Event+Session+0'; + String comparePageReference = 'https://www.google.com/calendar/event?action=TEMPLATE&ctz=GMT&dates=' + startDate + '%2F' + endDate + '&details=&location=123+Electric+Ave.&sprop=%5Bevent_source_url%5DMap+Link+1&text=Test+Event+-+Test+Event+Session+0'; system.assertEquals(calendarController.calendarType().getUrl(), comparePageReference); Test.stopTest(); } @@ -57,7 +57,7 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testYahooCalendarLink() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { Test.startTest(); PageReference pageRef = Page.SummitEventsAddToCalendar; @@ -67,8 +67,8 @@ public class SummitEventsAddToCalendar_TEST { SummitEventsAddToCalendarController calendarController = new SummitEventsAddToCalendarController(); String startDate = calendarController.DTStart; String endDate = calendarController.DTEnd; - String testCalendarURL = 'https://calendar.yahoo.com?desc=&et=' + endDate + '&in_csz=America%2FChicago&in_loc=A+location&in_st=123+Electric+Ave.&st=' + startDate + '&title=Test+Event+-+Test+Event+Session+0&v=60'; - system.assertEquals(calendarController.calendarType().getUrl(), testCalendarURL); + String testCalendarURL = 'https://calendar.yahoo.com?desc=&et=' + endDate + '&in_csz=GMT&in_loc=A+location&in_st=123+Electric+Ave.&st=' + startDate + '&title=Test+Event+-+Test+Event+Session+0&v=60'; + System.assertEquals(calendarController.calendarType().getUrl(), testCalendarURL); Test.stopTest(); } } @@ -76,7 +76,7 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testICalIcs() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { Test.startTest(); PageReference pageRef = Page.SummitEventsAddToCalendar; @@ -92,7 +92,7 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testOutlookIcs() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { Test.startTest(); PageReference pageRef = Page.SummitEventsAddToCalendar; @@ -108,7 +108,10 @@ public class SummitEventsAddToCalendar_TEST { @IsTest static void testOutlookWeb() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User','Summit_Events_Registrant'); + User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); + //Change from GMT to CDT to test daylight savings works + seaTestInstances[1].Instance_Time_Zone__c = 'Central Daylight Time (America/Chicago)'; + update seaTestInstances; System.runAs(testUser) { Test.startTest(); PageReference pageRef = Page.SummitEventsAddToCalendar; diff --git a/force-app/test/default/classes/SummitEventsConfirmation_TEST.cls b/force-app/test/default/classes/SummitEventsConfirmation_TEST.cls index e5b1a693..16f6a06d 100644 --- a/force-app/test/default/classes/SummitEventsConfirmation_TEST.cls +++ b/force-app/test/default/classes/SummitEventsConfirmation_TEST.cls @@ -80,15 +80,13 @@ private class SummitEventsConfirmation_TEST { @IsTest static void testAdminOpen() { SummitEventsTestSharedDataFactory.createContact('TestFirst1', 'TestLast1', 'test1@valleyhill.net', '55418', '(555) 555-5555', '1971-03-22'); List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - Summit_Events_Registration__c seaTestRegistration = SummitEventsTestSharedDataFactory.createEventRegistration(seaTestInstances[1], 'TestFirst', 'TestLast', 'test@valleyhill.net', '55418', '1971-03-22', '2012', null); + Summit_Events_Registration__c seaTestRegistration = SummitEventsTestSharedDataFactory.createEventRegistration(seaTestInstances[2], 'TestFirst', 'TestLast', 'test@valleyhill.net', '55418', '1971-03-22', '2012', null); User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); System.runAs(testUser) { - Test.startTest(); PageReference pageRef = Page.SummitEventsConfirmation; - Test.setCurrentPage(pageRef); - SummitEventsShared.createEncryptedCookie('Transfer', seaTestInstances[1].Id, seaTestInstances[1].Event__c, seaTestRegistration.Id, true); + SummitEventsShared.createEncryptedCookie('Transfer', seaTestInstances[2].Id, seaTestInstances[2].Event__c, seaTestRegistration.Id, true); SummitEventsConfirmationController confirmCtrl = new SummitEventsConfirmationController(); confirmCtrl.checkEventDetails(); Summit_Events_Registration__c checkRegistrationStatus = [ @@ -97,6 +95,7 @@ private class SummitEventsConfirmation_TEST { Summit_Events_Registration__c WHERE Id = :seaTestRegistration.Id ]; + Test.startTest(); System.assertEquals(checkRegistrationStatus.Status__c, 'Registered'); Test.stopTest(); } diff --git a/force-app/test/default/classes/SummitEventsFeed_TEST.cls b/force-app/test/default/classes/SummitEventsFeed_TEST.cls index ec2b02d0..f9050c96 100644 --- a/force-app/test/default/classes/SummitEventsFeed_TEST.cls +++ b/force-app/test/default/classes/SummitEventsFeed_TEST.cls @@ -112,11 +112,12 @@ private class SummitEventsFeed_TEST { //test filter req.params.put('filter', 'OCB,BCY'); + req.params.put('startDate', String.valueOf(Date.today())); RestContext.request = req; RestContext.response = res; SummitEventsFeed.getSummitEventsFeed(); eventsList = (List) JSON.deserialize(res.responseBody.toString(), List.class); - System.assertEquals(eventsList.size(), 10, 'All 10 instance have program related to them.'); + System.assertEquals(eventsList.size(), 11, 'All 11 instance have program related to them.'); req.params.put('program', 'OCB'); @@ -124,7 +125,7 @@ private class SummitEventsFeed_TEST { RestContext.response = res; SummitEventsFeed.getSummitEventsFeed(); eventsList = (List) JSON.deserialize(res.responseBody.toString(), List.class); - System.assertEquals(eventsList.size(), 10, 'All 10 instance have program related to them.'); + System.assertEquals(eventsList.size(), 11, 'All 11 instance have program related to them.'); //test filter req.params.put('rectype', 'UDAR'); @@ -141,10 +142,10 @@ private class SummitEventsFeed_TEST { @IsTest static void testEventFeedOverrides() { List seaTestInstances = SummitEventsTestSharedDataFactory.createTestEvent(); - seaTestInstances[1].Alternate_Registration_URL_Override__c = 'https://testingAnOverride.com'; - seaTestInstances[1].Location_Address_Override__c = 'New location override'; - seaTestInstances[1].Location_Map_Link_Override__c = 'Map link override'; - seaTestInstances[1].Feed_Registration_Button_Text_Override__c = 'New button override'; + seaTestInstances[2].Alternate_Registration_URL_Override__c = 'https://testingAnOverride.com'; + seaTestInstances[2].Location_Address_Override__c = 'New location override'; + seaTestInstances[2].Location_Map_Link_Override__c = 'Map link override'; + seaTestInstances[2].Feed_Registration_Button_Text_Override__c = 'New button override'; update seaTestInstances; User testUser = SummitEventsTestSharedDataFactory.userToRunWith('Standard User', 'Summit_Events_Registrant'); diff --git a/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls b/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls index 6d655436..51254f8f 100644 --- a/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls +++ b/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls @@ -52,10 +52,10 @@ public with sharing class SummitEventsTestSharedDataFactory { seaInstance.Event__c = testEvent.Id; seaInstance.Instance_Title__c = testEvent.Name + ' Session ' + x; seaInstance.Instance_Start_Date__c = Date.today().addDays(x); - seaInstance.Instance_End_Date__c = Date.today().addDays(x); + seaInstance.Instance_End_Date__c = Date.today().addDays(x+1); seaInstance.Instance_Start_Time__c = currentTime.addHours(-1); seaInstance.Instance_End_Time__c = currentTime.addHours(8); - seaInstance.Instance_Time_Zone__c = 'Central Daylight Time (America/Chicago)'; + seaInstance.Instance_Time_Zone__c = 'Greenwich Mean Time (GMT)'; seaInstance.Active_Status__c = 'Active'; seaInstance.Capacity__c = 500; seaTestInstances.add(seaInstance); From a7d8a2015252bf4e4e4eb01d533b6c8aa959cbdd Mon Sep 17 00:00:00 2001 From: Thaddaeus Dahlberg <16785863+tcdahlberg@users.noreply.github.com> Date: Thu, 11 Apr 2024 08:19:47 -0500 Subject: [PATCH 2/2] Updated unit tests to be consistant over time --- cumulusci.yml | 2 +- datasets/{snowfackery => snowfakery}/school_recipe.yml | 0 force-app/test/default/classes/SummitEventsFeed_TEST.cls | 1 - .../default/classes/SummitEventsTestSharedDataFactory.cls | 6 ++++-- 4 files changed, 5 insertions(+), 4 deletions(-) rename datasets/{snowfackery => snowfakery}/school_recipe.yml (100%) diff --git a/cumulusci.yml b/cumulusci.yml index 265bce5e..b4d1312f 100644 --- a/cumulusci.yml +++ b/cumulusci.yml @@ -22,7 +22,7 @@ tasks: description: Makes fake account data to mimic schools with Education as industry class_path: cumulusci.tasks.bulkdata.snowfakery.Snowfakery options: - recipe: datasets/snowfackery/school_recipe.yml + recipe: datasets/snowfakery/school_recipe.yml deploy_guest_sharing_rules: description: Deploys configuration for Development. diff --git a/datasets/snowfackery/school_recipe.yml b/datasets/snowfakery/school_recipe.yml similarity index 100% rename from datasets/snowfackery/school_recipe.yml rename to datasets/snowfakery/school_recipe.yml diff --git a/force-app/test/default/classes/SummitEventsFeed_TEST.cls b/force-app/test/default/classes/SummitEventsFeed_TEST.cls index f9050c96..7eb1b164 100644 --- a/force-app/test/default/classes/SummitEventsFeed_TEST.cls +++ b/force-app/test/default/classes/SummitEventsFeed_TEST.cls @@ -112,7 +112,6 @@ private class SummitEventsFeed_TEST { //test filter req.params.put('filter', 'OCB,BCY'); - req.params.put('startDate', String.valueOf(Date.today())); RestContext.request = req; RestContext.response = res; SummitEventsFeed.getSummitEventsFeed(); diff --git a/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls b/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls index 51254f8f..56759106 100644 --- a/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls +++ b/force-app/test/default/classes/SummitEventsTestSharedDataFactory.cls @@ -28,8 +28,8 @@ public with sharing class SummitEventsTestSharedDataFactory { Name = 'Test Event', Event_Status__c = 'Active', Event_Name__c = 'Test Event', - Start_Date__c = Date.today().addDays(-20), - End_Date__c = Date.today().addDays(20), + Start_Date__c = Date.today().addDays(-30), + End_Date__c = Date.today().addDays(30), Template__c = 'GeneralSLDS', Close_Event_Days_Before__c = 0, Location_Title__c = 'A location', @@ -38,6 +38,7 @@ public with sharing class SummitEventsTestSharedDataFactory { Location_Address__c = '123 Electric Ave.', Location_Type__c = 'On-Site', Allow_Other_Attendees__c = true, + Private_Event__c = false, Max_Other_Attendees__c = 10 ); insert testEvent; @@ -56,6 +57,7 @@ public with sharing class SummitEventsTestSharedDataFactory { seaInstance.Instance_Start_Time__c = currentTime.addHours(-1); seaInstance.Instance_End_Time__c = currentTime.addHours(8); seaInstance.Instance_Time_Zone__c = 'Greenwich Mean Time (GMT)'; + seaInstance.Private_Instance__c = false; seaInstance.Active_Status__c = 'Active'; seaInstance.Capacity__c = 500; seaTestInstances.add(seaInstance);