public async Task GetAudioEntriesOfPlaylistAsync_ReturnsExpectedNbOfAudioEntries() { var audios = new[] { new AudioBuilder() .WithId(0) .WithAudioPlaylist(new AudioPlaylistsBuilder().WithAudioId(0).WithPlaylistId(0).Build()) .Build(), new AudioBuilder() .WithId(1) .WithAudioPlaylist(new AudioPlaylistsBuilder().WithAudioId(1).WithPlaylistId(0).Build()) .Build(), new AudioBuilder() .WithId(2) .WithAudioPlaylist(new AudioPlaylistsBuilder().WithAudioId(2).WithPlaylistId(1).Build()) .Build(), }; var dbContextMock = new DbContextMock <ApplicationDbContext>(DummyDbOptions); dbContextMock.CreateDbSetMock(x => x.AudioEntries, audios); var sut = new SqlAudioEntriesRepository(dbContextMock.Object); var actual = await sut.GetAudioEntriesByPlaylistAsync(GuidFactory.MakeFromInt(0), CancellationToken.None); actual.Should().HaveCount(2); }
public async Task GetPlaylistDetails_ForPlaylistContainingAnAudio_DetailsContainsASingleAudio() { var playlist = new PlaylistBuilder() .WithId(GuidFactory.MakeFromInt(42)) .Build(); var playlistRepo = Substitute.For <IPlaylistEntriesRepository>(); playlistRepo .GetByIdAsync(Arg.Any <Guid>(), CancellationToken.None) .Returns(x => playlist); var audioRepo = Substitute.For <IAudioEntriesRepository>(); audioRepo .GetAudioEntriesByPlaylistAsync(playlist.PlaylistId, CancellationToken.None) .Returns(x => new[] { new AudioBuilder().Build() }); var sut = new PlaylistServiceBuilder() .WithPlaylistRepository(playlistRepo) .WithAudioRepository(audioRepo) .WithMapper(new MapperBuilder().WithDefaultProfile().Build()) .Build(); var playlistDetails = await sut.GetPlaylistDetails(playlist.PlaylistId, CancellationToken.None); var actual = playlistDetails.AudioEntries; actual.Should().ContainSingle(); }
public async Task EntryExistsAsync_ForNonexistentElement_ReturnsFalse() { var audio = new AudioBuilder().WithId(GuidFactory.MakeFromInt(0)).Build(); var dbContextMock = new DbContextMock <ApplicationDbContext>(DummyDbOptions); var audioEntriesDbSetMock = dbContextMock.CreateDbSetMock(x => x.AudioEntries, new[] { audio }); var sut = new SqlAudioEntriesRepository(dbContextMock.Object); var actual = await sut.EntryExistsAsync(GuidFactory.MakeFromInt(1), CancellationToken.None); actual.Should().BeFalse(); }
public async Task CountAsync_ForMultipleEntries_CountAsExpected() { var audios = new[] { new AudioBuilder().WithId(GuidFactory.MakeFromInt(0)).Build(), new AudioBuilder().WithId(GuidFactory.MakeFromInt(1)).Build(), }; var dbContextMock = new DbContextMock <ApplicationDbContext>(DummyDbOptions); var audioEntriesDbSetMock = dbContextMock.CreateDbSetMock(x => x.AudioEntries, audios); var sut = new SqlAudioEntriesRepository(dbContextMock.Object); var actual = await sut.CountAsync(CancellationToken.None); actual.Should().Be(2); }
public async Task GetRangeAsync_ReturnsExpectedNbOfElemnets() { var audios = new[] { new AudioBuilder().WithId(GuidFactory.MakeFromInt(0)).Build(), new AudioBuilder().WithId(GuidFactory.MakeFromInt(1)).Build(), new AudioBuilder().WithId(GuidFactory.MakeFromInt(2)).Build(), new AudioBuilder().WithId(GuidFactory.MakeFromInt(3)).Build(), }; var dbContextMock = new DbContextMock <ApplicationDbContext>(DummyDbOptions); var audioEntriesDbSetMock = dbContextMock.CreateDbSetMock(x => x.AudioEntries, audios); var sut = new SqlAudioEntriesRepository(dbContextMock.Object); var actual = await sut.GetRangeAsync(1, 2, CancellationToken.None); actual.Should().HaveCount(2); }
public AudioBuilder WithId(int audioId) { _audioId = GuidFactory.MakeFromInt(audioId); return(this); }
public AudioPlaylistsBuilder WithPlaylistId(int playlistId) { _playlistId = GuidFactory.MakeFromInt(playlistId); return(this); }