public void GetAlbumHref_VirtualUrlIsNull_ThrowsArgumentNullException() { var service = new AlbumCoverImageService( A.Fake <IAlbumHrefIdParser>(), A.Fake <IAlbumCoverImageConfiguration>(), A.Fake <ISpotifyConfiguration>()); Assert.Throws <ArgumentNullException>(() => service.GetAlbumHref(null)); }
public void GetUrl_AlbumIdIsNotNull_ReturnsUrlThatContainsAlbumId() { var albumCoverImageConfigurationFake = A.Fake <IAlbumCoverImageConfiguration>(); A.CallTo(() => albumCoverImageConfigurationFake.UrlFormat).Returns("/def/ghi/{0}.jkl"); var service = new AlbumCoverImageService( A.Fake <IAlbumHrefIdParser>(), albumCoverImageConfigurationFake, A.Fake <ISpotifyConfiguration>()); var url = service.GetUrl("zxc"); Assert.That(url, Is.EqualTo("/def/ghi/zxc.jkl")); }
public void GetVirtualUrl_HrefIdParserReturnsId_ReturnsUrlThatContainsParsedId() { var albumHrefIdParser = A.Fake <IAlbumHrefIdParser>(); A.CallTo(() => albumHrefIdParser.Parse(A <string> .Ignored)).Returns("abc"); var albumCoverImageConfigurationFake = A.Fake <IAlbumCoverImageConfiguration>(); A.CallTo(() => albumCoverImageConfigurationFake.VirtualUrlFormat).Returns("/def/ghi/{0}.jkl"); var service = new AlbumCoverImageService( albumHrefIdParser, albumCoverImageConfigurationFake, A.Fake <ISpotifyConfiguration>()); var url = service.GetVirtualUrl("jkl:mno:abc"); Assert.That(url, Is.EqualTo("/def/ghi/abc.jkl")); }
public void GetAlbumHref_VirtualUrlFileExtensionDoesNotMatchFormat_ThrowsNotSupportedException() { var albumHrefIdParser = A.Fake <IAlbumHrefIdParser>(); A.CallTo(() => albumHrefIdParser.Parse("qwe:rty:uio")).Returns("uio"); var albumCoverImageConfigurationFake = A.Fake <IAlbumCoverImageConfiguration>(); A.CallTo(() => albumCoverImageConfigurationFake.VirtualUrlFormat).Returns("/abc/def/{0}.jkl"); A.CallTo(() => albumCoverImageConfigurationFake.VirtualUrlFileExtension).Returns(".jkl"); A.CallTo(() => albumCoverImageConfigurationFake.UrlFormat).Returns("/mno/{0}.stu"); var spotifyConfigurationFake = A.Fake <ISpotifyConfiguration>(); A.CallTo(() => spotifyConfigurationFake.AlbumHrefFormat).Returns("qwe:rty:{0}"); var service = new AlbumCoverImageService( albumHrefIdParser, albumCoverImageConfigurationFake, spotifyConfigurationFake); Assert.Throws <NotSupportedException>(() => service.GetAlbumHref("/abc/def/uio.wer")); }
public void GetAlbumHref_VirtualUrlDoesMatchFormat_ReturnsAlbumHref() { var albumHrefIdParser = A.Fake <IAlbumHrefIdParser>(); A.CallTo(() => albumHrefIdParser.Parse("qwe:rty:uio")).Returns("uio"); var albumCoverImageConfigurationFake = A.Fake <IAlbumCoverImageConfiguration>(); A.CallTo(() => albumCoverImageConfigurationFake.VirtualUrlFormat).Returns("/abc/def/{0}.jkl"); A.CallTo(() => albumCoverImageConfigurationFake.VirtualUrlFileExtension).Returns(".jkl"); A.CallTo(() => albumCoverImageConfigurationFake.UrlFormat).Returns("/mno/{0}.stu"); var spotifyConfigurationFake = A.Fake <ISpotifyConfiguration>(); A.CallTo(() => spotifyConfigurationFake.AlbumHrefFormat).Returns("qwe:rty:{0}"); var service = new AlbumCoverImageService( albumHrefIdParser, albumCoverImageConfigurationFake, spotifyConfigurationFake); var albumHref = service.GetAlbumHref("/abc/def/uio.jkl"); Assert.That(albumHref, Is.EqualTo("qwe:rty:uio")); }