public async Task ShouldReturnFavoriteAudioSuccessfully() { // Assign var target = await RunAsDefaultUserAsync(); target.TryGetUserId(out var targetId); var audioFaker = new AudioFaker(targetId); var audios = audioFaker .Generate(3); InsertIntoDatabase(audios.ToArray()); var observer = await RunAsUserAsync(); observer.TryGetUserId(out var observerId); observer.TryGetUserName(out var observerUsername); var favoriteAudios = new List <FavoriteAudio>(); foreach (var audio in audios) { var favoriteAudio = new FavoriteAudio { AudioId = audio.Id, UserId = observerId, }; favoriteAudios.Add(favoriteAudio); } InsertIntoDatabase(favoriteAudios.ToArray()); // Act var response = await SendAsync(new GetUserFavoriteAudiosQuery { Username = observerUsername }); // Assert response.Should().NotBeNull(); response.Items.Count.Should().Be(3); }
public async Task SearchForAudiosSuccessfully() { var faker = new Faker(); // create tags var tags = Enumerable.Range(1, 5) .Select <int, string>(_ => faker.Random.String2(5, 10)) .ToList(); // create posts var user = await RunAsDefaultUserAsync(); user.TryGetUserId(out var userId); var audioFaker = new AudioFaker(userId) .FinishWith((f, a) => { a.Tags = new List <string> { tags[0], tags[1] }; }); var audio = audioFaker.Generate(); InsertIntoDatabase(audio); // Act var request = new SearchAudiosQuery { Q = audio.Title, Tags = $"{tags[0]},{tags[1]}" }; var results = await SendAsync(request); //Assert results.Should().NotBeNull(); results.Items.Count.Should().BeGreaterThan(0); results.Items.Should().Contain(x => x.Id == audio.Id); }