public void Process_NotFound() { // Arrange var pageId = 389432; var pageRepository = Mocks.Create<IDocumentationPageRepository>(); pageRepository.Setup(r => r.Read(pageId)).Returns(null as DocumentationPage); var processor = new ReadDocumentationPageRequestProcessor(pageRepository.Object); // Act var result = processor.Process(pageId.ToString()); // Assert Assert.That(result, Is.Not.Null, "A valid ResponseState should be returned."); Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); Mocks.VerifyAll(); }
public void Process_Success() { // Arrange var page = Models.CreateDocumentationPage(id: 84932); var pageRepository = Mocks.Create<IDocumentationPageRepository>(); pageRepository.Setup(r => r.Read(page.Id)).Returns(page); var processor = new ReadDocumentationPageRequestProcessor(pageRepository.Object); // Act var result = processor.Process(page.Id.ToString()); // Assert Assert.That(result, Is.Not.Null, "A valid ResponseState should be returned."); Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.OK), "The request should succeed."); Assert.That(result.ContentType, Is.EqualTo(ContentTypes.Json), "JSON should be returned in the response."); var serializer = new JavaScriptSerializer(); var clientPage = serializer.Deserialize<DocumentationPage>(result.Content); Assert.That(clientPage.Id, Is.EqualTo(page.Id), "The page read from the repository should be included in the result."); Mocks.VerifyAll(); }