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(); }
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>()); }