public async Task Create_package_invalid() { var fixture = new ParameterFixture(); fixture.SetUpCreated(fixture.CreatePackageFail); var result = await StrikesRepository.CreatePackage(fixture.Request, fixture.Collector, fixture.Logger); Assert.Equal("BadRequestObjectResult", result.GetTypeName()); var expected = "[{\"MemberNames\":[\"Name\"],\"ErrorMessage\":\"The Name field is required.\"},{\"MemberNames\":[\"ProjectPage\"],\"ErrorMessage\":\"The ProjectPage field is not a valid fully-qualified http, https, or ftp URL.\"}]"; Assert.Equal(expected, ((BadRequestObjectResult)result).Value); }
public async Task Create_package_success() { var fixture = new ParameterFixture(); fixture.SetUpCreated(fixture.CreatePackageSuccess); var result = await StrikesRepository.CreatePackage(fixture.Request, fixture.Collector, fixture.Logger); Assert.Equal("CreatedResult", result.GetTypeName()); fixture.VerifyCreated(); var createdResult = (CreatedResult)result; Assert.Equal($"package/{fixture.Expected.Id}", (string)createdResult.Location); Assert.Equal(fixture.Expected.Id, ((Package)createdResult.Value).Id); fixture.Cleanup(); // Only in case you use Stream. }