public async Task HandleReturnsContents() { var request = CreateRequest(); var s3GetObjectFacade = Substitute.For <S3GetObjectFacade>(); var handler = new Handler(s3GetObjectFacade); s3GetObjectFacade.GetZipEntryInObject(Any <string>(), Any <string>()).Returns(contents); var result = await handler.Handle(request); result.Should().Be(contents); await s3GetObjectFacade.Received().GetZipEntryInObject(Arg.Is(zipLocation), Arg.Is(filename)); }
public async Task HandleDeserializesTheContentsIfFilenameEndsWithJson() { var jsonFilename = "test.json"; var request = CreateRequest(); request.Filename = jsonFilename; var s3GetObjectFacade = Substitute.For <S3GetObjectFacade>(); var handler = new Handler(s3GetObjectFacade); s3GetObjectFacade.GetZipEntryInObject(null, null).ReturnsForAnyArgs("{\"A\": \"B\"}"); var result = (JsonElement)(await handler.Handle(request)); result.GetProperty("A").ToString().Should().Be("B"); await s3GetObjectFacade.Received().GetZipEntryInObject(Is(zipLocation), Is(jsonFilename)); }