public void PutCreatedSuccessTest() { #region Test Setup var metadataFake = new Faker <MetadataInfo>() .RuleFor(m => m.Title, f => f.Lorem.Sentence()) .RuleFor(m => m.Description, f => f.Lorem.Paragraph()); var mockDefinitionFake = new Faker <MockDefinition>() .RuleFor(m => m.Host, f => f.Internet.DomainName()) .RuleFor(m => m.Metadata, f => metadataFake.Generate()); var input = new { mockDefinition = mockDefinitionFake.Generate(), httpContext = new DefaultHttpContext(), path = "/api/v1.0/orbitaladmin" }; input.httpContext.Request.Path = input.path; var controllerContext = new ControllerContext() { HttpContext = input.httpContext }; var mediatorMock = Substitute.For <IMediator>(); #endregion var Target = new OrbitalAdminController(mediatorMock) { ControllerContext = controllerContext }; var encoded = Uri.EscapeUriString(input.mockDefinition.Metadata.Title); var Expected = new { location = $"{input.path}/{encoded}", value = input.mockDefinition }; var Actual = Target.Put(input.mockDefinition); Assert.IsType <CreatedResult>(Actual); var actualCreateResult = Actual as CreatedResult; Assert.Equal(Expected.location, actualCreateResult.Location); Assert.Equal(Expected.value, actualCreateResult.Value); }
public void PutUpdatedSuccessTest() { #region Test Setup var metadataFake = new Faker <MetadataInfo>() .RuleFor(m => m.Title, f => f.Lorem.Sentence()) .RuleFor(m => m.Description, f => f.Lorem.Paragraph()); var mockDefinitionFake = new Faker <MockDefinition>() .RuleFor(m => m.Host, f => f.Internet.DomainName()) .RuleFor(m => m.Metadata, f => metadataFake.Generate()); var input = new { mockDefinition = mockDefinitionFake.Generate(), httpContext = new DefaultHttpContext(), path = "/api/v1.0/orbitaladmin" }; input.httpContext.Request.Path = input.path; var controllerContext = new ControllerContext() { HttpContext = input.httpContext }; var mediatorMock = Substitute.For <IMediator>(); mediatorMock.Send(Arg.Any <UpdateMockDefinitionByTitleCommand>(), Arg.Any <CancellationToken>()).Returns <MockDefinition>(input.mockDefinition); #endregion var Target = new OrbitalAdminController(mediatorMock) { ControllerContext = controllerContext }; var encoded = Uri.EscapeUriString(input.mockDefinition.Metadata.Title); var Actual = Target.Put(input.mockDefinition); Assert.IsType <OkResult>(Actual); }