Пример #1
0
        public void ControllerShouldReturnAnActionResult() {
            var formatProvider = new Mock<IFeedBuilderProvider>();
            var format = new Mock<IFeedBuilder>();
            formatProvider.Setup(x => x.Match(It.IsAny<FeedContext>()))
                .Returns(new FeedBuilderMatch { FeedBuilder = format.Object, Priority = 10 });

            var queryProvider = new Mock<IFeedQueryProvider>();
            var query = new Mock<IFeedQuery>();
            queryProvider.Setup(x => x.Match(It.IsAny<FeedContext>()))
                .Returns(new FeedQueryMatch { FeedQuery = query.Object, Priority = 10 });


            format.Setup(x => x.Process(It.IsAny<FeedContext>(), It.IsAny<Action>())).Returns(new ContentResult());

            var controller = new FeedController(
                new[] { queryProvider.Object },
                new[] { formatProvider.Object },
                new StubItemBuilder()
                ) {
                    ValueProvider = Values.From(new { })
                };

            var result = controller.Index("test-format");
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.InstanceOf<ActionResult>());

            formatProvider.Verify();
            queryProvider.Verify();
            format.Verify();
        }
Пример #2
0
        public void InvalidFormatShpuldReturnNotFoundResult() {
            var controller = new FeedController(
                Enumerable.Empty<IFeedQueryProvider>(),
                Enumerable.Empty<IFeedBuilderProvider>(),
                new StubItemBuilder()
                ) {
                    ValueProvider = Values.From(new { })
                };

            var result = controller.Index("no-such-format");
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.TypeOf<HttpNotFoundResult>());
        }