public void WillSetCorrectContentType()
        {
            var testable = new TestableLessHandler();

            testable.MockedResponse.SetupProperty(x => x.ContentType);

            testable.ClassUnderTest.ProcessRequest(testable.MockedContext.Object);

            Assert.Equal("text/css", testable.MockedResponse.Object.ContentType);
        }
        public void WillWriteLessParseErrorMessage()
        {
            var testable = new TestableLessHandler();

            testable.Mock <IFileWrapper>().Setup(x => x.GetFileString(It.IsAny <string>()))
            .Returns("@brand_color: #4D926F #header {color: @brand_color;}");

            testable.ClassUnderTest.ProcessRequest(testable.MockedContext.Object);

            Assert.Contains("Parse Error", testable.CompileResult);
        }
        public void WillReturn500IfIOExceptionIsThrown()
        {
            var testable = new TestableLessHandler();

            testable.Mock <IFileWrapper>().Setup(x => x.GetFileString(It.IsAny <string>()))
            .Throws(new IOException());
            testable.MockedResponse.SetupProperty(x => x.StatusCode);

            testable.ClassUnderTest.ProcessRequest(testable.MockedContext.Object);

            Assert.Equal(500, testable.MockedResponse.Object.StatusCode);
        }
        public void WillWriteCompiledLess()
        {
            var testable = new TestableLessHandler();

            testable.Mock <IFileWrapper>().Setup(x => x.GetFileString(It.IsAny <string>()))
            .Returns("@brand_color: #4D926F;#header {color: @brand_color;}");
            const string expected = "#header {\n  color: #4d926f;\n}\n";

            testable.ClassUnderTest.ProcessRequest(testable.MockedContext.Object);

            Assert.Equal(expected, testable.CompileResult);
        }