diff --git a/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessDetailsDTO.cs b/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessDetailsDTO.cs index 5bf90736aa..ebdb58e32c 100644 --- a/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessDetailsDTO.cs +++ b/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessDetailsDTO.cs @@ -13,21 +13,29 @@ public IdentityDeletionProcessDetailsDTO(IdentityDeletionProcess process) .ToList(); Status = process.Status; CreatedAt = process.CreatedAt; + ApprovalPeriodEndsAt = process.ApprovalPeriodEndsAt; + ApprovalReminder1SentAt = process.ApprovalReminder1SentAt; ApprovalReminder2SentAt = process.ApprovalReminder2SentAt; ApprovalReminder3SentAt = process.ApprovalReminder3SentAt; + ApprovedAt = process.ApprovedAt; ApprovedByDevice = process.ApprovedByDevice; + GracePeriodEndsAt = process.GracePeriodEndsAt; + GracePeriodReminder1SentAt = process.GracePeriodReminder1SentAt; GracePeriodReminder2SentAt = process.GracePeriodReminder2SentAt; GracePeriodReminder3SentAt = process.GracePeriodReminder3SentAt; } + public string Id { get; set; } public List AuditLog { get; set; } public DeletionProcessStatus Status { get; set; } public DateTime CreatedAt { get; set; } + public DateTime ApprovalPeriodEndsAt { get; set; } + public DateTime? ApprovalReminder1SentAt { get; set; } public DateTime? ApprovalReminder2SentAt { get; set; } diff --git a/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessOverviewDTO.cs b/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessOverviewDTO.cs index 603f2d497b..4771fa0382 100644 --- a/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessOverviewDTO.cs +++ b/Modules/Devices/src/Devices.Application/DTOs/IdentityDeletionProcessOverviewDTO.cs @@ -10,12 +10,17 @@ public IdentityDeletionProcessOverviewDTO(IdentityDeletionProcess process) Id = process.Id; Status = process.Status; CreatedAt = process.CreatedAt; + ApprovalPeriodEndsAt = process.ApprovalPeriodEndsAt; + ApprovalReminder1SentAt = process.ApprovalReminder1SentAt; ApprovalReminder2SentAt = process.ApprovalReminder2SentAt; ApprovalReminder3SentAt = process.ApprovalReminder3SentAt; + ApprovedAt = process.ApprovedAt; ApprovedByDevice = process.ApprovedByDevice; + GracePeriodEndsAt = process.GracePeriodEndsAt; + GracePeriodReminder1SentAt = process.GracePeriodReminder1SentAt; GracePeriodReminder2SentAt = process.GracePeriodReminder2SentAt; GracePeriodReminder3SentAt = process.GracePeriodReminder3SentAt; @@ -24,6 +29,7 @@ public IdentityDeletionProcessOverviewDTO(IdentityDeletionProcess process) public string Id { get; set; } public DeletionProcessStatus Status { get; set; } public DateTime CreatedAt { get; set; } + public DateTime ApprovalPeriodEndsAt { get; set; } public DateTime? ApprovalReminder1SentAt { get; set; } public DateTime? ApprovalReminder2SentAt { get; set; } diff --git a/Modules/Devices/src/Devices.Application/Identities/Commands/SendDeletionProcessApprovalReminders/Handler.cs b/Modules/Devices/src/Devices.Application/Identities/Commands/SendDeletionProcessApprovalReminders/Handler.cs index 04f448bee0..77847b189e 100644 --- a/Modules/Devices/src/Devices.Application/Identities/Commands/SendDeletionProcessApprovalReminders/Handler.cs +++ b/Modules/Devices/src/Devices.Application/Identities/Commands/SendDeletionProcessApprovalReminders/Handler.cs @@ -33,8 +33,7 @@ public async Task Handle(SendDeletionProcessApprovalRemindersCommand request, Ca foreach (var identity in identities) { var deletionProcess = identity.GetDeletionProcessInStatus(DeletionProcessStatus.WaitingForApproval) ?? throw new NotFoundException(nameof(IdentityDeletionProcess)); - var endOfApprovalPeriod = deletionProcess.GetEndOfApprovalPeriod(); - var daysUntilApprovalPeriodEnds = (endOfApprovalPeriod - SystemTime.UtcNow).Days; + var daysUntilApprovalPeriodEnds = (deletionProcess.ApprovalPeriodEndsAt - SystemTime.UtcNow).Days; if (deletionProcess.ApprovalReminder3SentAt != null) { @@ -77,6 +76,7 @@ private async Task SendReminder2(Identity identity, int daysUntilApprovalPeriodE await _identitiesRepository.Update(identity, cancellationToken); _logger.ApprovalReminder2Sent(identity.Address, deletionProcessId); } + private async Task SendReminder1(Identity identity, int daysUntilApprovalPeriodEnds, IdentityDeletionProcessId deletionProcessId, CancellationToken cancellationToken) { await _pushNotificationSender.SendNotification(identity.Address, new DeletionProcessWaitingForApprovalReminderPushNotification(daysUntilApprovalPeriodEnds), cancellationToken); diff --git a/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionConfiguration.cs b/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionConfiguration.cs index 652c764eef..560c99b61f 100644 --- a/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionConfiguration.cs +++ b/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionConfiguration.cs @@ -2,40 +2,40 @@ namespace Backbone.Modules.Devices.Domain.Entities.Identities; public class IdentityDeletionConfiguration { - public static int MaxApprovalTime { get; set; } = 10; - public static int LengthOfGracePeriod { get; set; } = 30; + public static int LengthOfApprovalPeriod { get; } = 7; + public static int LengthOfGracePeriod { get; } = 14; - public static GracePeriodNotificationConfiguration GracePeriodNotification1 { get; set; } = new() + public static GracePeriodNotificationConfiguration GracePeriodNotification1 { get; } = new() { - Time = 20 + Time = 12 }; - public static GracePeriodNotificationConfiguration GracePeriodNotification2 { get; set; } = new() + public static GracePeriodNotificationConfiguration GracePeriodNotification2 { get; } = new() { Time = 10 }; - public static GracePeriodNotificationConfiguration GracePeriodNotification3 { get; set; } = new() + public static GracePeriodNotificationConfiguration GracePeriodNotification3 { get; } = new() { Time = 5 }; - public static ApprovalReminderNotificationConfiguration ApprovalReminder1 { get; set; } = new() + public static ApprovalReminderNotificationConfiguration ApprovalReminder1 { get; } = new() { - Time = 10 + Time = 6 }; - public static ApprovalReminderNotificationConfiguration ApprovalReminder2 { get; set; } = new() + public static ApprovalReminderNotificationConfiguration ApprovalReminder2 { get; } = new() { - Time = 5 + Time = 4 }; - public static ApprovalReminderNotificationConfiguration ApprovalReminder3 { get; set; } = new() + public static ApprovalReminderNotificationConfiguration ApprovalReminder3 { get; } = new() { Time = 2 }; - public static DeletionStartsNotification DeletionStartsNotification { get; set; } = new() + public static DeletionStartsNotification DeletionStartsNotification { get; } = new() { Text = "The grace period for the deletion of your identity has expired. The deletion starts now." }; @@ -43,15 +43,15 @@ public class IdentityDeletionConfiguration public class GracePeriodNotificationConfiguration { - public int Time { get; set; } + public int Time { get; init; } } public class ApprovalReminderNotificationConfiguration { - public int Time { get; set; } + public int Time { get; init; } } public class DeletionStartsNotification { - public string Text { get; set; } = ""; + public string Text { get; init; } = ""; } diff --git a/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionProcess.cs b/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionProcess.cs index 1760a23fa8..c927edeba4 100644 --- a/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionProcess.cs +++ b/Modules/Devices/src/Devices.Domain/Entities/Identities/IdentityDeletionProcess.cs @@ -40,6 +40,7 @@ private IdentityDeletionProcess(IdentityAddress createdBy, DeviceId createdByDev public DeletionProcessStatus Status { get; private set; } public DateTime DeletionStartedAt { get; private set; } public DateTime CreatedAt { get; } + public DateTime ApprovalPeriodEndsAt => CreatedAt.AddDays(IdentityDeletionConfiguration.LengthOfApprovalPeriod); public DateTime? ApprovalReminder1SentAt { get; private set; } public DateTime? ApprovalReminder2SentAt { get; private set; } @@ -60,7 +61,7 @@ private IdentityDeletionProcess(IdentityAddress createdBy, DeviceId createdByDev public DateTime? GracePeriodReminder2SentAt { get; private set; } public DateTime? GracePeriodReminder3SentAt { get; private set; } - public bool HasApprovalPeriodExpired => Status == DeletionProcessStatus.WaitingForApproval && SystemTime.UtcNow >= GetEndOfApprovalPeriod(); + public bool HasApprovalPeriodExpired => Status == DeletionProcessStatus.WaitingForApproval && SystemTime.UtcNow >= ApprovalPeriodEndsAt; public bool HasGracePeriodExpired => Status == DeletionProcessStatus.Approved && SystemTime.UtcNow >= GracePeriodEndsAt; @@ -87,11 +88,6 @@ public bool IsActive() return Status is DeletionProcessStatus.Approved or DeletionProcessStatus.WaitingForApproval or DeletionProcessStatus.Deleting; } - public DateTime GetEndOfApprovalPeriod() - { - return CreatedAt.AddDays(IdentityDeletionConfiguration.MaxApprovalTime); - } - public void ApprovalReminder1Sent(IdentityAddress address) { ApprovalReminder1SentAt = SystemTime.UtcNow; diff --git a/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/ApproveDeletionProcess/HandlerTests.cs b/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/ApproveDeletionProcess/HandlerTests.cs index 76d4bb1963..5df7dec508 100644 --- a/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/ApproveDeletionProcess/HandlerTests.cs +++ b/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/ApproveDeletionProcess/HandlerTests.cs @@ -46,7 +46,7 @@ public async Task Happy_path() && i.Status == IdentityStatus.ToBeDeleted && i.TierId == Tier.QUEUED_FOR_DELETION.Id && i.DeletionProcesses.FirstOrDefault(d => d.Status == DeletionProcessStatus.Approved)!.ApprovedAt == DateTime.Parse("2000-01-01") - && i.DeletionProcesses.FirstOrDefault(d => d.Status == DeletionProcessStatus.Approved)!.GracePeriodEndsAt == DateTime.Parse("2000-01-31") + && i.DeletionProcesses.FirstOrDefault(d => d.Status == DeletionProcessStatus.Approved)!.GracePeriodEndsAt == DateTime.Parse("2000-01-15") && i.DeletionProcesses.FirstOrDefault(d => d.Status == DeletionProcessStatus.Approved)!.ApprovedByDevice == device.Id ), A._)) .MustHaveHappenedOnceExactly(); diff --git a/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessApprovalReminders/HandlerTests.cs b/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessApprovalReminders/HandlerTests.cs index 074bf6b54a..7374339150 100644 --- a/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessApprovalReminders/HandlerTests.cs +++ b/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessApprovalReminders/HandlerTests.cs @@ -71,7 +71,7 @@ public async Task Sends_second_reminder() var identity = TestDataGenerator.CreateIdentityWithDeletionProcessWaitingForApproval(deletionProcessStartedAt: DateTime.Parse("2000-01-01")); identity.DeletionProcessApprovalReminder1Sent(); - var utcNow = DateTime.Parse("2000-01-06"); + var utcNow = DateTime.Parse("2000-01-04"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -103,7 +103,7 @@ public async Task Sends_third_reminder() identity.DeletionProcessApprovalReminder1Sent(); identity.DeletionProcessApprovalReminder2Sent(); - var utcNow = DateTime.Parse("2000-01-09"); + var utcNow = DateTime.Parse("2000-01-06"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -133,7 +133,7 @@ public async Task Does_not_send_reminder_1_when_2_has_to_be_sent_as_well() // Arrange var identity = TestDataGenerator.CreateIdentityWithDeletionProcessWaitingForApproval(deletionProcessStartedAt: DateTime.Parse("2000-01-01")); - var utcNow = DateTime.Parse("2000-01-06"); + var utcNow = DateTime.Parse("2000-01-04"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -164,7 +164,7 @@ public async Task Does_not_send_reminder_1_and_2_when_3_has_to_be_sent_as_well() // Arrange var identity = TestDataGenerator.CreateIdentityWithDeletionProcessWaitingForApproval(deletionProcessStartedAt: DateTime.Parse("2000-01-01")); - var utcNow = DateTime.Parse("2000-01-09"); + var utcNow = DateTime.Parse("2000-01-06"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); diff --git a/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessGracePeriodReminders/HandlerTests.cs b/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessGracePeriodReminders/HandlerTests.cs index 17b78ca376..d39503e4be 100644 --- a/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessGracePeriodReminders/HandlerTests.cs +++ b/Modules/Devices/test/Devices.Application.Tests/Tests/Identities/Commands/SendDeletionProcessGracePeriodReminders/HandlerTests.cs @@ -41,7 +41,7 @@ public async Task Sends_first_reminder() // Arrange var identity = TestDataGenerator.CreateIdentityWithApprovedDeletionProcess(approvalDate: DateTime.Parse("2000-01-01")); - var utcNow = DateTime.Parse("2000-01-11"); + var utcNow = DateTime.Parse("2000-01-03"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -71,7 +71,7 @@ public async Task Sends_second_reminder() var identity = TestDataGenerator.CreateIdentityWithApprovedDeletionProcess(approvalDate: DateTime.Parse("2000-01-01")); identity.DeletionGracePeriodReminder1Sent(); - var utcNow = DateTime.Parse("2000-01-21"); + var utcNow = DateTime.Parse("2000-01-05"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -103,7 +103,7 @@ public async Task Sends_third_reminder() identity.DeletionGracePeriodReminder1Sent(); identity.DeletionGracePeriodReminder2Sent(); - var utcNow = DateTime.Parse("2000-01-26"); + var utcNow = DateTime.Parse("2000-01-10"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -133,7 +133,7 @@ public async Task Does_not_send_reminder_1_when_2_has_to_be_sent_as_well() // Arrange var identity = TestDataGenerator.CreateIdentityWithApprovedDeletionProcess(approvalDate: DateTime.Parse("2000-01-01")); - var utcNow = DateTime.Parse("2000-01-21"); + var utcNow = DateTime.Parse("2000-01-05"); SystemTime.Set(utcNow); var mockIdentitiesRepository = A.Fake(); @@ -162,7 +162,7 @@ public async Task Does_not_send_reminder_1_when_2_has_to_be_sent_as_well() public async Task Does_not_send_reminder_1_and_2_when_3_has_to_be_sent_as_well() { // Arrange - var identity = TestDataGenerator.CreateIdentityWithApprovedDeletionProcess(approvalDate: DateTime.Parse("2000-01-01")); + var identity = TestDataGenerator.CreateIdentityWithApprovedDeletionProcess(approvalDate: DateTime.Parse("2000-01-09")); var utcNow = DateTime.Parse("2000-01-26"); SystemTime.Set(utcNow); diff --git a/Modules/Devices/test/Devices.Domain.Tests/Identities/ApproveDeletionProcessTests.cs b/Modules/Devices/test/Devices.Domain.Tests/Identities/ApproveDeletionProcessTests.cs index fc026aeb22..25d2fce4fa 100644 --- a/Modules/Devices/test/Devices.Domain.Tests/Identities/ApproveDeletionProcessTests.cs +++ b/Modules/Devices/test/Devices.Domain.Tests/Identities/ApproveDeletionProcessTests.cs @@ -25,7 +25,7 @@ public void Approve_deletion_process_waiting_for_approval() // Assert identity.Status.Should().Be(IdentityStatus.ToBeDeleted); - identity.DeletionGracePeriodEndsAt.Should().Be(DateTime.Parse("2000-01-31")); + identity.DeletionGracePeriodEndsAt.Should().Be(DateTime.Parse("2000-01-15")); identity.TierId.Should().Be(Tier.QUEUED_FOR_DELETION.Id); var deletionProcess = identity.DeletionProcesses.FirstOrDefault(d => d.Status == DeletionProcessStatus.Approved)!; AssertAuditLogEntryWasCreated(deletionProcess); diff --git a/Modules/Devices/test/Devices.Domain.Tests/Identities/CancelStaleDeletionProcessTests.cs b/Modules/Devices/test/Devices.Domain.Tests/Identities/CancelStaleDeletionProcessTests.cs index 5d67d7d953..20812222a1 100644 --- a/Modules/Devices/test/Devices.Domain.Tests/Identities/CancelStaleDeletionProcessTests.cs +++ b/Modules/Devices/test/Devices.Domain.Tests/Identities/CancelStaleDeletionProcessTests.cs @@ -48,11 +48,9 @@ public void Cancel_deletion_process_that_is_past_due_approval() var identity = TestDataGenerator.CreateIdentity(); identity.StartDeletionProcessAsSupport(); - var utcNow = DateTime.Parse("2020-01-11T00:00:00"); + var utcNow = DateTime.Parse("2020-01-08T00:00:00"); SystemTime.Set(utcNow); - IdentityDeletionConfiguration.MaxApprovalTime = 10; - // Act var result = identity.CancelStaleDeletionProcess(); @@ -70,9 +68,7 @@ public void Canceling_stale_deletion_process_creates_audit_log_entry_when_execut // Arrange SystemTime.Set(DateTime.Parse("2020-01-01T00:00:00")); var identity = TestDataGenerator.CreateIdentityWithDeletionProcessWaitingForApproval(); - SystemTime.Set(DateTime.Parse("2020-01-11T00:00:00")); - - IdentityDeletionConfiguration.MaxApprovalTime = 10; + SystemTime.Set(DateTime.Parse("2020-01-08T00:00:00")); // Act var result = identity.CancelStaleDeletionProcess(); diff --git a/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalPeriodEndsAtTests.cs b/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalPeriodEndsAtTests.cs new file mode 100644 index 0000000000..c9aa5b1f39 --- /dev/null +++ b/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalPeriodEndsAtTests.cs @@ -0,0 +1,26 @@ +using Backbone.Tooling; +using Backbone.UnitTestTools.Extensions; +using FluentAssertions; +using Xunit; +using static Backbone.Modules.Devices.Domain.Tests.TestDataGenerator; + +namespace Backbone.Modules.Devices.Domain.Tests.Identities; + +public class DeletionProcessApprovalPeriodEndsAtTests +{ + [Fact] + public void Deletion_process_ApprovalPeriodEndsAt_returns_expected_date() + { + // Arrange + SystemTime.Set("2024-01-01"); + + var identity = CreateIdentityWithDeletionProcessWaitingForApproval(); + var deletionProcess = identity.DeletionProcesses[0]; + + // Act + var approvalPeriodEndsAt = deletionProcess.ApprovalPeriodEndsAt; + + // Assert + approvalPeriodEndsAt.Should().Be("2024-01-08"); + } +} diff --git a/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalReminderTests.cs b/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalReminderTests.cs index 2743767af1..963b82e7c1 100644 --- a/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalReminderTests.cs +++ b/Modules/Devices/test/Devices.Domain.Tests/Identities/DeletionProcessApprovalReminderTests.cs @@ -6,7 +6,6 @@ using Backbone.Tooling; using FluentAssertions; using Xunit; -using static Backbone.UnitTestTools.Data.TestDataGenerator; namespace Backbone.Modules.Devices.Domain.Tests.Identities; @@ -107,22 +106,6 @@ public void DeletionProcessApprovalReminder3Sent_fails_when_no_deletion_process_ acting.Should().Throw().Which.Code.Should().Be("error.platform.validation.device.deletionProcessIsNotInRequiredStatus"); } - [Fact] - public void GetEndOfApprovalPeriod_returns_expected_date() - { - // Arrange - SystemTime.Set(DateTime.Parse("2000-01-01")); - IdentityDeletionConfiguration.MaxApprovalTime = 10; - - var deletionProcess = IdentityDeletionProcess.StartAsOwner(CreateRandomIdentityAddress(), CreateRandomDeviceId()); - - // Act - var endOfApprovalPeriod = deletionProcess.GetEndOfApprovalPeriod(); - - // Assert - endOfApprovalPeriod.Should().Be(DateTime.Parse("2000-01-11")); - } - private static void AssertAuditLogEntryWasCreated(IdentityDeletionProcess deletionProcess) { deletionProcess.AuditLog.Should().HaveCount(2); diff --git a/Modules/Devices/test/Devices.Domain.Tests/Identities/IdentityDeletionProcessTests.cs b/Modules/Devices/test/Devices.Domain.Tests/Identities/IdentityDeletionProcessTests.cs index 6e797c839a..e7fcffe5d9 100644 --- a/Modules/Devices/test/Devices.Domain.Tests/Identities/IdentityDeletionProcessTests.cs +++ b/Modules/Devices/test/Devices.Domain.Tests/Identities/IdentityDeletionProcessTests.cs @@ -1,5 +1,4 @@ -using Backbone.Modules.Devices.Domain.Entities.Identities; -using Backbone.Tooling; +using Backbone.Tooling; using FluentAssertions; using Xunit; @@ -10,7 +9,7 @@ public class IdentityDeletionProcessTests [Theory] [InlineData("2020-01-01T00:00:00")] [InlineData("2020-01-01T00:00:01")] - [InlineData("2020-01-09T23:59:59")] + [InlineData("2020-01-06T23:59:59")] public void HasApprovalPeriodExpired_is_false_for_deletion_process_still_in_approval_period(string utcNow) { // Arrange @@ -18,8 +17,6 @@ public void HasApprovalPeriodExpired_is_false_for_deletion_process_still_in_appr var identity = TestDataGenerator.CreateIdentityWithDeletionProcessWaitingForApproval(); SystemTime.Set(utcNow); - IdentityDeletionConfiguration.MaxApprovalTime = 10; - // Act var result = identity.DeletionProcesses[0].HasApprovalPeriodExpired; @@ -28,9 +25,9 @@ public void HasApprovalPeriodExpired_is_false_for_deletion_process_still_in_appr } [Theory] - [InlineData("2020-01-11T00:00:00")] - [InlineData("2020-01-21T08:45:15")] - [InlineData("2025-01-01T00:00:00")] + [InlineData("2020-01-08T00:00:00")] + [InlineData("2020-02-07T08:45:15")] + [InlineData("2025-01-07T00:00:00")] public void HasApprovalPeriodExpired_is_true_for_stale_deletion_process(string utcNow) { // Arrange @@ -38,8 +35,6 @@ public void HasApprovalPeriodExpired_is_true_for_stale_deletion_process(string u var identity = TestDataGenerator.CreateIdentityWithDeletionProcessWaitingForApproval(); SystemTime.Set(utcNow); - IdentityDeletionConfiguration.MaxApprovalTime = 10; - // Act var result = identity.DeletionProcesses[0].HasApprovalPeriodExpired; diff --git a/Modules/Devices/test/Devices.Domain.Tests/Identities/StartDeletionProcessAsOwnerTests.cs b/Modules/Devices/test/Devices.Domain.Tests/Identities/StartDeletionProcessAsOwnerTests.cs index 524c05b1ad..1f4b0ec889 100644 --- a/Modules/Devices/test/Devices.Domain.Tests/Identities/StartDeletionProcessAsOwnerTests.cs +++ b/Modules/Devices/test/Devices.Domain.Tests/Identities/StartDeletionProcessAsOwnerTests.cs @@ -31,7 +31,7 @@ public void Start_deletion_process() var deletionProcess = activeIdentity.StartDeletionProcessAsOwner(activeDevice.Id); // Assert - activeIdentity.DeletionGracePeriodEndsAt.Should().Be(DateTime.Parse("2000-01-31")); + activeIdentity.DeletionGracePeriodEndsAt.Should().Be(DateTime.Parse("2000-01-15")); activeIdentity.TierId.Value.Should().Be(Tier.QUEUED_FOR_DELETION.Id.Value); activeIdentity.Status.Should().Be(IdentityStatus.ToBeDeleted); @@ -39,7 +39,7 @@ public void Start_deletion_process() deletionProcess.Status.Should().Be(DeletionProcessStatus.Approved); deletionProcess.ApprovedAt.Should().Be(SystemTime.UtcNow); deletionProcess.ApprovedByDevice.Should().Be(activeDevice.Id); - deletionProcess.GracePeriodEndsAt.Should().Be(DateTime.Parse("2000-01-31")); + deletionProcess.GracePeriodEndsAt.Should().Be(DateTime.Parse("2000-01-15")); AssertAuditLogEntryWasCreated(deletionProcess); var auditLogEntry = deletionProcess.AuditLog[0];