diff --git a/Covid19Radar/Covid19Radar/Services/SurveyService.cs b/Covid19Radar/Covid19Radar/Services/SurveyService.cs index 5803ed7a4..03154fd4f 100644 --- a/Covid19Radar/Covid19Radar/Services/SurveyService.cs +++ b/Covid19Radar/Covid19Radar/Services/SurveyService.cs @@ -19,6 +19,8 @@ public interface ISurveyService public class SurveyService : ISurveyService { + private const long FromDateMillisEpoch = 1649289600000; // 2022/04/07 00:00:00 UTC + private readonly IEventLogService _eventLogService; private readonly IExposureDataRepository _exposureDataRepository; private readonly IUserDataRepository _userDataRepository; @@ -58,6 +60,7 @@ V1ExposureRiskCalculationConfiguration riskConfiguration List dailySummaryList = chinoDailySummaryList + .Where(item => item.DateMillisSinceEpoch >= FromDateMillisEpoch) .Select( item => new SurveyExposureData.DailySummary { diff --git a/Covid19Radar/Tests/Covid19Radar.UnitTests/Services/SurveyServiceTests.cs b/Covid19Radar/Tests/Covid19Radar.UnitTests/Services/SurveyServiceTests.cs index 88f2eff78..6994ddb25 100644 --- a/Covid19Radar/Tests/Covid19Radar.UnitTests/Services/SurveyServiceTests.cs +++ b/Covid19Radar/Tests/Covid19Radar.UnitTests/Services/SurveyServiceTests.cs @@ -59,7 +59,7 @@ public async Task BuildSurveyContentTests_HasStartDate_HasExposureDataProvision( { new DailySummary { - DateMillisSinceEpoch = 1640962800, + DateMillisSinceEpoch = 1649289600000, DaySummary = new ExposureSummaryData { MaximumScore = 1350.0 @@ -110,7 +110,7 @@ public async Task BuildSurveyContentTests_DailySummary() { new DailySummary { - DateMillisSinceEpoch = 1640962800, + DateMillisSinceEpoch = 1649289600000, DaySummary = new ExposureSummaryData { MaximumScore = 1350.0 @@ -118,7 +118,7 @@ public async Task BuildSurveyContentTests_DailySummary() }, new DailySummary { - DateMillisSinceEpoch = 1640962801, + DateMillisSinceEpoch = 1649376000000, DaySummary = new ExposureSummaryData { MaximumScore = 1349.0 @@ -132,14 +132,50 @@ public async Task BuildSurveyContentTests_DailySummary() List dailySummaryList = result.ExposureData.DailySummaryList; Assert.Equal(2, dailySummaryList.Count); - Assert.Equal(1640962800, dailySummaryList[0].DateMillisSinceEpoch); + Assert.Equal(1649289600000, dailySummaryList[0].DateMillisSinceEpoch); Assert.Equal(1, dailySummaryList[0].ExposureDetected); - Assert.Equal(1640962801, dailySummaryList[1].DateMillisSinceEpoch); + Assert.Equal(1649376000000, dailySummaryList[1].DateMillisSinceEpoch); Assert.Equal(0, dailySummaryList[1].ExposureDetected); _mockExposureDataRepository.Verify(x => x.GetDailySummariesAsync(), Times.Once()); } + [Fact] + public async Task BuildSurveyContentTests_DateMillisSinceEpochFilter() + { + _mockExposureDataRepository.Setup(x => x.GetDailySummariesAsync()).ReturnsAsync( + new List + { + new DailySummary + { + DateMillisSinceEpoch = 1649289599999, // 2022-04-06 23:59:59.999 UTC + DaySummary = new ExposureSummaryData + { + MaximumScore = 1350.0 + } + }, + new DailySummary + { + DateMillisSinceEpoch = 1649289600000, // 2022-04-07 00:00:00 UTC + DaySummary = new ExposureSummaryData + { + MaximumScore = 1349.0 + } + } + }); + _mockUserDataRepository.Setup(x => x.GetStartDate()).Returns(new DateTime(2022, 1, 1, 0, 0, 0, DateTimeKind.Utc)); + + SurveyService unitUnderTest = CreateService(); + SurveyContent result = await unitUnderTest.BuildSurveyContent(1, 2, true, true); + + List dailySummaryList = result.ExposureData.DailySummaryList; + Assert.Single(dailySummaryList); + Assert.Equal(1649289600000, dailySummaryList[0].DateMillisSinceEpoch); + Assert.Equal(0, dailySummaryList[0].ExposureDetected); + + _mockExposureDataRepository.Verify(x => x.GetDailySummariesAsync(), Times.Once()); + } + [Fact] public async Task SubmitSurveyTests() {