diff options
Diffstat (limited to 'Timeline.Tests/Helpers/TestClock.cs')
-rw-r--r-- | Timeline.Tests/Helpers/TestClock.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Timeline.Tests/Helpers/TestClock.cs b/Timeline.Tests/Helpers/TestClock.cs new file mode 100644 index 00000000..fc200be9 --- /dev/null +++ b/Timeline.Tests/Helpers/TestClock.cs @@ -0,0 +1,25 @@ +using Microsoft.AspNetCore.Mvc.Testing; +using Microsoft.Extensions.DependencyInjection; +using System; +using Timeline.Services; + +namespace Timeline.Tests.Helpers +{ + public class TestClock : IClock + { + DateTime? MockCurrentTime { get; set; } = null; + + public DateTime GetCurrentTime() + { + return MockCurrentTime.GetValueOrDefault(DateTime.Now); + } + } + + public static class TestClockWebApplicationFactoryExtensions + { + public static TestClock GetTestClock<T>(this WebApplicationFactory<T> factory) where T : class + { + return factory.Server.Host.Services.GetRequiredService<IClock>() as TestClock; + } + } +} |