public static async Task Handle_ValidRequester_ReturnsModelsWithExpectedIsDeletable( string requesterId, bool expectedJaneDoeExpectedIsDeletable, bool expectedZhangXiaExpectedIsDeletable, bool expectedSatoGotaExpectedIsDeletable, bool expectedJohnDoeExpectedIsDeletable) { // Arrange GetSongDirectorsRequest request = new(requesterId); GetSongDirectorsInteractor <GetSongDirectorsResponse> getSongDirectorsInteractor = new( GetMockSongDirectorRepository(), new GetSongDirectorsDefaultBoundary()); // Act GetSongDirectorsResponse response = await getSongDirectorsInteractor .HandleAsync(request) .ConfigureAwait(false); // Assert Assert.Collection( response.SongDirectors, janeDoe => Assert.Equal(expectedJaneDoeExpectedIsDeletable, janeDoe.IsDeletable), zhangXia => Assert.Equal(expectedZhangXiaExpectedIsDeletable, zhangXia.IsDeletable), satoGota => Assert.Equal(expectedSatoGotaExpectedIsDeletable, satoGota.IsDeletable), johnDoe => Assert.Equal(expectedJohnDoeExpectedIsDeletable, johnDoe.IsDeletable)); }
/// <inheritdoc/> public IResult FailedToGetSongDirectors(GetSongDirectorsResponse response) => new BadGatewayObjectResult( new Status( HydraContext, (int)HttpStatusCode.BadGateway, "Bad Gateway", response.Message), "application/ld+json");
/// <inheritdoc/> public IResult Success(GetSongDirectorsResponse response) { if (response.SongDirectors == null) { throw new ArgumentException("Song directors must be set for a successful Get" + "Song Directors response."); } // Convert use case models to API models IEnumerable <SongDirectorApiModel> songDirectorApiModels = response.SongDirectors .Select(useCaseModel => SongDirectorApiModel .RetrievedSongDirector( HydraContext, new Uri(ResourceBaseUri, useCaseModel.Id), useCaseModel)); return(Results.Ok(songDirectorApiModels)); }
public static async Task Handle_ValidRequester_ReturnsModelsWithExpectedRankSettings( string requesterId, bool shouldHaveRanks) { // Arrange GetSongDirectorsRequest request = new(requesterId); GetSongDirectorsInteractor <GetSongDirectorsResponse> getSongDirectorsInteractor = new( GetMockSongDirectorRepository(), new GetSongDirectorsDefaultBoundary()); // Act GetSongDirectorsResponse response = await getSongDirectorsInteractor .HandleAsync(request) .ConfigureAwait(false); // Assert Assert.All( response.SongDirectors, songDirector => Assert.True(songDirector.Rank == null ^ shouldHaveRanks)); }
/// <inheritdoc/> // TODO: Create UnauthorizedObjectResult public IResult RequesterSongDirectorRankNotFound(GetSongDirectorsResponse response) => Results.Unauthorized();
/// <inheritdoc/> public IResult InvalidRequesterEmailAddress(GetSongDirectorsResponse response) => Results.BadRequest(new Status( HydraContext, (int)HttpStatusCode.BadRequest, "Bad Request", response.Message));