private List <ValidationResult> Validate(SharedContentItemModel model) { var vr = new List <ValidationResult>(); var vc = new ValidationContext(model); Validator.TryValidateObject(model, vc, vr, true); return(vr); }
public void WebhooksServiceTryValidateModelForUpdateReturnsFailure() { // Arrange const bool expectedResponse = false; var expectedInvalidContentItemModel = new SharedContentItemModel(); var service = BuildWebhooksService(); // Act var result = service.TryValidateModel(expectedInvalidContentItemModel); // Assert Assert.Equal(expectedResponse, result); }
private SharedContentItemModel CreateModel(Guid documentId, string title, string content) { var model = new SharedContentItemModel { Id = documentId, Title = title, Url = new Uri("aaa-bbb", UriKind.Relative), Content = content, LastReviewed = DateTime.UtcNow, CreatedDate = DateTime.UtcNow, LastCached = DateTime.UtcNow, }; return(model); }
protected SharedContentItemModel BuildValidContentItemModel() { var model = new SharedContentItemModel() { Id = ContentIdForUpdate, Etag = Guid.NewGuid().ToString(), Title = "an-article", Url = new Uri("https://localhost"), Content = "some content", LastReviewed = DateTime.UtcNow, CreatedDate = DateTime.UtcNow, LastCached = DateTime.UtcNow, }; return(model); }
public async Task PagesControllerCallsContentPageServiceUsingPagesRouteForOkResult(string route, Guid documentId, string actionMethod) { // Arrange using var controller = BuildController(route); var expectedResult = new SharedContentItemModel() { Content = "<h1>A document</h1>" }; var expectedResults = new List <SharedContentItemModel> { expectedResult }; A.CallTo(() => FakeSharedContentItemDocumentService.GetAllAsync(A <string> .Ignored)).Returns(expectedResults); A.CallTo(() => FakeSharedContentItemDocumentService.GetByIdAsync(A <Guid> .Ignored, A <string> .Ignored)).Returns(expectedResult); // Act var result = await RunControllerAction(controller, documentId, actionMethod).ConfigureAwait(false); // Assert Assert.IsType <OkObjectResult>(result); A.CallTo(() => FakeSharedContentItemDocumentService.GetAllAsync(A <string> .Ignored)).MustHaveHappenedOnceOrLess(); A.CallTo(() => FakeSharedContentItemDocumentService.GetByIdAsync(A <Guid> .Ignored, A <string> .Ignored)).MustHaveHappenedOnceOrLess(); }
public async Task WebhooksServiceProcessContentAsyncForUpdateReturnsBadRequest() { // Arrange const HttpStatusCode expectedResponse = HttpStatusCode.BadRequest; var expectedValidContentItemApiDataModel = BuildValidContentItemApiDataModel(); var expectedValidContentItemModel = new SharedContentItemModel(); var url = new Uri("https://somewhere.com"); var service = BuildWebhooksService(); A.CallTo(() => FakeCmsApiService.GetItemAsync <SharedContentItemApiDataModel>(A <Uri> .Ignored)).Returns(expectedValidContentItemApiDataModel); A.CallTo(() => FakeMapper.Map <SharedContentItemModel>(A <SharedContentItemApiDataModel> .Ignored)).Returns(expectedValidContentItemModel); // Act var result = await service.ProcessContentAsync(url).ConfigureAwait(false); // Assert A.CallTo(() => FakeCmsApiService.GetItemAsync <SharedContentItemApiDataModel>(A <Uri> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeMapper.Map <SharedContentItemModel>(A <SharedContentItemApiDataModel> .Ignored)).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeSharedContentItemDocumentService.GetByIdAsync(A <Guid> .Ignored, A <string> .Ignored)).MustNotHaveHappened(); A.CallTo(() => FakeSharedContentItemDocumentService.UpsertAsync(A <SharedContentItemModel> .Ignored)).MustNotHaveHappened(); A.CallTo(() => FakeSharedContentItemDocumentService.DeleteAsync(A <Guid> .Ignored)).MustNotHaveHappened(); Assert.Equal(expectedResponse, result); }