Skip to content

Commit 956153c

Browse files
committed
fix: timing issues on MacOS
1 parent 629192d commit 956153c

2 files changed

Lines changed: 21 additions & 2 deletions

File tree

src/Subdomains/Shared/Domain.Shared.UnitTests/Subscriptions/TrialTimelineSpec.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,28 @@ public void WhenCreateAndDurationIsZero_ThenReturnsError()
4343

4444
result.Should().BeError(ErrorCode.Validation, Resources.TrialTimeline_InvalidDuration);
4545
}
46+
47+
[Fact]
48+
public void WhenCreateAndStartsNow_ThenReturnsTimeline()
49+
{
50+
var now = DateTime.UtcNow;
51+
52+
var result = TrialTimeline.Create(now, 1);
53+
54+
result.Should().BeSuccess();
55+
result.Value.StartedAt.Should().Be(now.ToNearestHour());
56+
result.Value.DurationDays.Should().Be(1);
57+
result.Value.ConvertedAt.Should().BeNone();
58+
result.Value.IsConverted.Should().BeFalse();
59+
result.Value.ExpiryDueAt.Should().Be(now.ToNearestHour().AddDays(1));
60+
result.Value.ExpiredAt.Should().BeNone();
61+
result.Value.IsExpirable.Should().BeFalse();
62+
result.Value.IsExpired.Should().BeFalse();
63+
result.Value.Status.Should().Be(TrialStatus.Active);
64+
}
4665

4766
[Fact]
48-
public void WhenCreate_ThenReturnsTimeline()
67+
public void WhenCreateAndStartsPast_ThenReturnsTimeline()
4968
{
5069
var past = DateTime.UtcNow.SubtractSeconds(1);
5170

src/Subdomains/Shared/Domain.Shared/Subscriptions/TrialTimeline.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public sealed class TrialTimeline : ValueObjectBase<TrialTimeline>
2323
public static Result<TrialTimeline, Error> Create(DateTime startsAt, int durationDays)
2424
{
2525
var now = DateTime.UtcNow;
26-
if (startsAt.IsInvalidParameter(time => time.IsBefore(now), nameof(startsAt),
26+
if (startsAt.IsInvalidParameter(time => time.IsBefore(now) || time.Equals(now), nameof(startsAt),
2727
Resources.TrialTimeline_StartsAtInFuture, out var error1))
2828
{
2929
return error1;

0 commit comments

Comments
 (0)