public override async Task <bool> TrackAddAsync(Track track) { // Map track to db model DBModels.Track dbTrack = autoMapper.Map <DBModels.Track>(track); // Add new track to database int recordsChanged; try { recordsChanged = await repository.TrackAddAsync(dbTrack); } catch { recordsChanged = 0; } return(recordsChanged > 0); }
public async Task TrackAddAsync_SavesItem() { Mock <DbSet <Track> > mockTracks = new Mock <DbSet <Track> >(); Mock <MusicDemoDbContext> mockContext = new Mock <MusicDemoDbContext>(); mockContext.Setup(m => m.Tracks).Returns(mockTracks.Object); MusicDemoRepository repo = new MusicDemoRepository(mockContext.Object); await repo.TrackAddAsync(new Track { Name = "MxPx" }); mockTracks.Verify(m => m.Add(It.Is <Track>(a => a.Name == "MxPx")), Times.Once()); mockContext.Verify(m => m.SaveChangesAsync(), Times.Once()); }