Пример #1
0
        public void CreateFactory_ReturnsViewDescriptor_ForSuccessfulResults()
        {
            // Arrange
            var relativePath     = "/file-exists";
            var expirationTokens = new[]
            {
                Mock.Of <IChangeToken>(),
                Mock.Of <IChangeToken>(),
            };
            var descriptor = new CompiledViewDescriptor
            {
                RelativePath     = relativePath,
                ViewAttribute    = new RazorViewAttribute(relativePath, typeof(TestRazorPage)),
                ExpirationTokens = expirationTokens,
            };
            var compilerCache = new Mock <IViewCompiler>();

            compilerCache
            .Setup(f => f.CompileAsync(It.IsAny <string>()))
            .ReturnsAsync(descriptor);

            var factoryProvider = new DefaultRazorPageFactoryProvider(GetCompilerProvider(compilerCache.Object));

            // Act
            var result = factoryProvider.CreateFactory(relativePath);

            // Assert
            Assert.True(result.Success);
            Assert.Equal(expirationTokens, descriptor.ExpirationTokens);
        }
Пример #2
0
        public void CreateFactory_ProducesDelegateThatSetsPagePath()
        {
            // Arrange
            var relativePath = "/file-exists";
            var descriptor   = new CompiledViewDescriptor
            {
                RelativePath     = relativePath,
                ViewAttribute    = new RazorViewAttribute(relativePath, typeof(TestRazorPage)),
                ExpirationTokens = Array.Empty <IChangeToken>(),
            };
            var viewCompiler = new Mock <IViewCompiler>();

            viewCompiler
            .Setup(f => f.CompileAsync(It.IsAny <string>()))
            .ReturnsAsync(descriptor);

            var factoryProvider = new DefaultRazorPageFactoryProvider(GetCompilerProvider(viewCompiler.Object));

            // Act
            var result = factoryProvider.CreateFactory(relativePath);

            // Assert
            Assert.True(result.Success);
            var actual = result.RazorPageFactory();

            Assert.Equal("/file-exists", actual.Path);
        }
Пример #3
0
        public void CreateFactory_ReturnsViewDescriptor_ForUnsuccessfulResults()
        {
            // Arrange
            var path             = "/file-does-not-exist";
            var expirationTokens = new[]
            {
                Mock.Of <IChangeToken>(),
                Mock.Of <IChangeToken>(),
            };
            var descriptor = new CompiledViewDescriptor
            {
                RelativePath     = path,
                ExpirationTokens = expirationTokens,
            };
            var compilerCache = new Mock <IViewCompiler>();

            compilerCache
            .Setup(f => f.CompileAsync(It.IsAny <string>()))
            .ReturnsAsync(descriptor);

            var factoryProvider = new DefaultRazorPageFactoryProvider(GetCompilerProvider(compilerCache.Object));

            // Act
            var result = factoryProvider.CreateFactory(path);

            // Assert
            Assert.False(result.Success);
            Assert.Same(descriptor, result.ViewDescriptor);
        }