/// <inheritdoc/> public async Task <Url> ShortenUrl(string longUrl, long?expireDate = null) { var isLongUrlValid = longUrl.IsValidUrl(); if (!isLongUrlValid) { throw new InvalidUrlException(ExceptionMessagesConstants.InvalidUrlExceptionMessage); } var shortUrl = await this.GenerateShortUrl(); var url = new Url { LongUrl = longUrl, ShortUrl = shortUrl }; if (expireDate.HasValue && expireDate.Value > 0) { url.ExpirationDate = UrlHelpers.ConvertUnixTimeToDateTime(expireDate.Value); } await this.urlRepository.AddAsync(url); return(url); }
public void ConvertUnixTimeToDateTime_ShouldConvertTimeCorrectly() { // 03/08/2020 @ 6:23:30pm - 1583691810 var expected = new DateTime(2020, 03, 08, 18, 23, 30, DateTimeKind.Utc); var unixTime = 1583691810; var actual = UrlHelpers.ConvertUnixTimeToDateTime(unixTime); Assert.Equal(expected, actual); }