public async Task RetrieveOriginalUrl_HashIdIsMatchingRecords_ReturnOriginalUrl() { _shortLinkServiceMock.Setup(s => s.GetOriginalUrl("XUDH")).ReturnsAsync("https://dummy.com"); var sut = new ShortLinkController(_shortLinkServiceMock.Object); var result = await sut.RetrieveOriginalUrl("XUDH").ConfigureAwait(false); _shortLinkServiceMock.VerifyAll(); Assert.Equal("https://dummy.com", result.Value); }
public async Task CreateShortLink_InvalidUrlFormat_ReturnBadRequestResponse() { var sut = new ShortLinkController(_shortLinkServiceMock.Object); var result = await sut.CreateShortLink(new CreateShortLinkRequest { UrlString = "xyz" }).ConfigureAwait(false); var statusCodeResult = result.Result as StatusCodeResult; Assert.Equal(400, statusCodeResult.StatusCode); _shortLinkServiceMock.Verify(s => s.CreateShortLink(It.IsAny <string>()), Times.Never); }
public async Task CreateShortLink_ValidUrlFormat_CallShortLinkService(string actualUrl, string expectedUrl) { _shortLinkServiceMock.Setup(s => s.CreateShortLink(expectedUrl)).ReturnsAsync(expectedUrl); var sut = new ShortLinkController(_shortLinkServiceMock.Object); var result = await sut.CreateShortLink(new CreateShortLinkRequest { UrlString = actualUrl }).ConfigureAwait(false); _shortLinkServiceMock.VerifyAll(); Assert.Equal(expectedUrl, result.Value); }
public async Task GotoShortLinkOriginalAddress_HashIdIsNotMatchingRecords_ReturnBadRequest() { _shortLinkServiceMock.Setup(s => s.GetOriginalUrl(It.IsAny <string>())).ReturnsAsync((string)null); var sut = new ShortLinkController(_shortLinkServiceMock.Object); var result = await sut.GotoShortLinkOriginalAddress("XUDH").ConfigureAwait(false); var statusCodeResult = result.Result as StatusCodeResult; Assert.Equal(400, statusCodeResult.StatusCode); }
public async Task GotoShortLinkOriginalAddress_HashIdIsMatchingRecords_RedirectToUrlAddress() { _shortLinkServiceMock.Setup(s => s.GetOriginalUrl("XUDH")).ReturnsAsync("https://dummy.com"); var sut = new ShortLinkController(_shortLinkServiceMock.Object); var result = await sut.GotoShortLinkOriginalAddress("XUDH").ConfigureAwait(false); _shortLinkServiceMock.VerifyAll(); var redirectResult = result.Result as RedirectResult; Assert.NotNull(redirectResult); Assert.Equal("https://dummy.com", redirectResult.Url); }
public void TestShortLinkValidityError(string link) { using (var context = new ApiContext(options)) { // Arrange var shortLinkController = new ShortLinkController(context); // Act var decodedShortLinkPair = shortLinkController.Decode(link); var badResult = decodedShortLinkPair.Result as BadRequestObjectResult; // Assert Assert.Equal("This isn't a short link. Please check your spelling and try again.", badResult.Value); } }
public void TestDecode(string link) { using (var context = new ApiContext(options)) { // Arrange var shortLinkController = new ShortLinkController(context); // Act var shortLinkPair = shortLinkController.Encode(link); var decodedShortLinkPair = shortLinkController.Decode(shortLinkPair.Value.ShortenedLink); // Assert Assert.IsType <ShortLinkPair>(decodedShortLinkPair.Value); Assert.Equal("http://example.com/", decodedShortLinkPair.Value.LongLink); } }
public void TestEncode(string validLink, string invalidLink) { using (var context = new ApiContext(options)) { // Arrange var shortLinkController = new ShortLinkController(context); // Act var validShortLinkPair = shortLinkController.Encode(validLink); var invalidShortLinkPair = shortLinkController.Encode(invalidLink); // Assert Assert.IsType <ShortLinkPair>(validShortLinkPair.Value); Assert.Equal("http://example.com/", validShortLinkPair.Value.LongLink); Assert.Null(invalidShortLinkPair.Value); } }