public async Task <Result <SearchArtistByNameResponse> > Handle(SearchArtistByNameRequest request, CancellationToken cancellationToken) { var operation = await _musicSearchApiClient.SearchArtistsByNameAsync(request.Name); if (!operation.Status) { return(Result <SearchArtistByNameResponse> .Failure(operation.ErrorCode, operation.Validation)); } operation = _musicArtistFilter.FilterByScore(operation); var artistDtos = operation.Data?.Artists ?? new List <MusicArtistDto>(); if (!artistDtos.Any()) { return(Result <SearchArtistByNameResponse> .Failure(ErrorCodes.ArtistNotFound, "Artist not found.")); } var artists = artistDtos.Select(x => new Artist { Name = x.Name, Id = x.Id, Description = x.Disambiguation }).ToList(); return(Result <SearchArtistByNameResponse> .Success(new SearchArtistByNameResponse { Artists = artists })); }
public SearchArtistByNameRequestHandlerTests(TestsInitializer testsInitializer) { _testsInitializer = testsInitializer; _request = testsInitializer.Fixture.Create <SearchArtistByNameRequest>(); _musicSearchClient = new Mock <IMusicSearchApiClient>(); _filterService = new Mock <IMusicArtistFilterService>(); _handler = new SearchArtistByNameRequestHandler(_musicSearchClient.Object, _filterService.Object); }
public async Task <Result <GetArtistByNameResponse> > Handle(GetArtistByNameRequest request, CancellationToken cancellationToken) { var searchArtistByNameRequest = new SearchArtistByNameRequest { CorrelationId = request.CorrelationId, Name = request.Name }; var operation = await _mediator.Send(searchArtistByNameRequest, cancellationToken); if (!operation.Status) { return(Result <GetArtistByNameResponse> .Failure(operation.ErrorCode, operation.Validation)); } var response = GetArtistResponse(operation.Data); return(response); }
private void GivenRequestIsNull() { _request = null; }
public SearchArtistByNameRequestValidatorTests(TestsInitializer testsInitializer) { _validator = new SearchArtistByNameRequestValidator(); _request = testsInitializer.Fixture.Create <SearchArtistByNameRequest>(); }