public async Task <TrackDetailsDto> GetByIdAsync(int id) { var spec = new TrackDetailSpecification(id); var track = await _trackRepository.GetSingleBySpecAsync(spec); return(new TrackDetailsDto { TrackId = track.Id, Name = track.Name, Album = track.Album.Title, AlbumId = track.Album.Id, ArtistId = track.Album.Artist.Id, Artist = track.Album.Artist.Name, Genre = track.Genre.Name, FromCache = track.FromCache }); }
public async Task GetById() { var trackId = 1; var trackList = new List <Track> { new Track { Id = trackId }, new Track { Id = 2 }, }; var spec = new TrackDetailSpecification(trackId); var result = trackList .AsQueryable() .SingleOrDefault(spec.Criteria); Assert.AreEqual(trackId, result.Id); }
public async Task GetTrack() { var trackId = 1; var tracks = new List <Track> { new Track { Id = trackId }, new Track { Id = 2 } }; _context.Tracks.AddRange(tracks); _context.SaveChanges(); var spec = new TrackDetailSpecification(trackId); var trackFromRepo = await _trackRepository.GetSingleBySpecAsync(spec); Assert.AreEqual(trackId, trackFromRepo.Id); }