Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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);
        }