private async Task <SearchArtistViewModel> MapIntoArtistVm(ArtistLookup a) { var vm = new SearchArtistViewModel { ArtistName = a.artistName, ArtistType = a.artistType, Banner = a.images?.FirstOrDefault(x => x.coverType.Equals("banner"))?.url, Logo = a.images?.FirstOrDefault(x => x.coverType.Equals("logo"))?.url, CleanName = a.cleanName, Disambiguation = a.disambiguation, ForignArtistId = a.foreignArtistId, Links = a.links, Overview = a.overview, }; var poster = a.images?.FirstOrDefault(x => x.coverType.Equals("poaster")); if (poster == null) { vm.Poster = a.remotePoster; } await Rules.StartSpecificRules(vm, SpecificRules.LidarrArtist); return(vm); }
public async Task Should_Not_Be_Monitored() { var request = new SearchArtistViewModel { ForignArtistId = "abc" }; var result = await Rule.Execute(request, string.Empty); Assert.True(result.Success); Assert.False(request.Monitored); }
public void SetsImagesToEmpty_IfNoImages() { var artist = new Artist { Name = "Norma Jean", ThirdPartyId = "55b0Gfm53udtGBs8mmNXrH" }; var result = new SearchArtistViewModel(artist); result.Images.Should().BeEmpty(); }
public void ConvertsImages_IfAny() { var artist = new Artist { Name = "Norma Jean", ThirdPartyId = "55b0Gfm53udtGBs8mmNXrH", Images = new List <Image> { new Image { Height = 640, Url = "https://i.scdn.co/image/4f4fb36a3c564d0078be2e21962ee47724747b44", Width = 640 }, new Image { Height = 320, Url = "https://i.scdn.co/image/8717743daaf2e2b2f53008e5835232f9e90d5897", Width = 320 }, new Image { Height = 160, Url = "https://i.scdn.co/image/e99dfcc008ac74efced891cda956f6e4d0463260", Width = 160 } } }; var expected = new List <ImageViewModel> { new ImageViewModel { Height = 640, Path = "https://i.scdn.co/image/4f4fb36a3c564d0078be2e21962ee47724747b44", Width = 640 }, new ImageViewModel { Height = 320, Path = "https://i.scdn.co/image/8717743daaf2e2b2f53008e5835232f9e90d5897", Width = 320 }, new ImageViewModel { Height = 160, Path = "https://i.scdn.co/image/e99dfcc008ac74efced891cda956f6e4d0463260", Width = 160 } }; var result = new SearchArtistViewModel(artist); result.Images.Should().BeEquivalentTo(expected); }
public async Task Should_Be_Monitored_Casing() { ContextMock.Setup(x => x.GetAll()).Returns(new List <LidarrArtistCache> { new LidarrArtistCache { ForeignArtistId = "abc", } }.AsQueryable()); var request = new SearchArtistViewModel { ForignArtistId = "abc" }; var result = await Rule.Execute(request, string.Empty); Assert.True(result.Success); Assert.True(request.Monitored); }
public JsonResult GetSongs(string artist, string term) { var _songList = new List<SearchArtistViewModel>(); var artistName = artist; if (!string.IsNullOrEmpty(term)) { var songs = (from s in db.Songs where s.Låtnamn.StartsWith(term) orderby s.Låtnamn select new { s.Låtnamn }).Take(5).Distinct().ToList(); foreach (var s in songs) { var songobjects = new SearchArtistViewModel { Song = s.Låtnamn, }; _songList.Add(songobjects); } } return Json(_songList, JsonRequestBehavior.AllowGet); }
public JsonResult GetArtists(string term) { var _artistList = new List<SearchArtistViewModel>(); if (!string.IsNullOrEmpty(term)) { var artists = (from s in db.Songs where s.Artist.StartsWith(term) orderby s.Artist select new { s.Artist }).Take(5).Distinct().ToList(); foreach (var s in artists) { var songobjects = new SearchArtistViewModel { Artist = s.Artist, }; _artistList.Add(songobjects); } } return Json(_artistList, JsonRequestBehavior.AllowGet); }