/// <summary>
        /// Tests whether the component does not set any <see cref="Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> entries.
        /// </summary>
        /// <typeparam name="TBuilder">Class representing ASP.NET Core MVC test builder.</typeparam>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentShouldHaveTestBuilder{TBuilder}"/> type.</param>
        /// <returns>The same component should have test builder.</returns>
        public static TBuilder NoDistributedCache <TBuilder>(this IBaseTestBuilderWithComponentShouldHaveTestBuilder <TBuilder> builder)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            if (actualBuilder.TestContext.GetDistributedCacheMock().Count > 0)
            {
                DataProviderValidator.ThrowNewDataProviderAssertionExceptionWithNoEntries(
                    actualBuilder.TestContext,
                    DistributedCacheTestBuilder.DistributedCacheName);
            }

            return(actualBuilder.Builder);
        }
Пример #2
0
        /// <summary>
        /// Tests whether the component does not set any <see cref="Microsoft.AspNetCore.Http.ISession"/> entries.
        /// </summary>
        /// <typeparam name="TBuilder">Class representing ASP.NET Core MVC test builder.</typeparam>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentShouldHaveTestBuilder{TBuilder}"/> type.</param>
        /// <returns>The same component should have test builder.</returns>
        public static TBuilder NoSession <TBuilder>(this IBaseTestBuilderWithComponentShouldHaveTestBuilder <TBuilder> builder)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            if (actualBuilder.TestContext.Session.Keys.Any())
            {
                DataProviderValidator.ThrowNewDataProviderAssertionExceptionWithNoEntries(
                    actualBuilder.TestContext,
                    SessionTestBuilder.SessionName);
            }

            return(actualBuilder.Builder);
        }
Пример #3
0
        /// <summary>
        /// Tests whether the component does not set any dynamic view bag entries.
        /// </summary>
        /// <typeparam name="TBuilder">Class representing ASP.NET Core MVC test builder.</typeparam>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentShouldHaveTestBuilder{TBuilder}"/> type.</param>
        /// <returns>The same component should have test builder.</returns>
        public static TBuilder NoViewBag <TBuilder>(this IBaseTestBuilderWithComponentShouldHaveTestBuilder <TBuilder> builder)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            if (actualBuilder.TestContext.GetViewData().Count > 0)
            {
                DataProviderValidator.ThrowNewDataProviderAssertionExceptionWithNoEntries(
                    actualBuilder.TestContext,
                    ViewBagTestBuilder.ViewBagName);
            }

            return(actualBuilder.Builder);
        }
        /// <summary>
        /// Tests whether the component sets specific <see cref="Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> entries.
        /// </summary>
        /// <typeparam name="TBuilder">Class representing ASP.NET Core MVC test builder.</typeparam>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentShouldHaveTestBuilder{TBuilder}"/> type.</param>
        /// <param name="withNumberOfEntries">Expected number of <see cref="Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> entries.</param>
        /// <returns>The same component should have test builder.</returns>
        public static TBuilder DistributedCache <TBuilder>(
            this IBaseTestBuilderWithComponentShouldHaveTestBuilder <TBuilder> builder,
            int?withNumberOfEntries = null)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            DataProviderValidator.ValidateDataProviderNumberOfEntries(
                actualBuilder.TestContext,
                DistributedCacheTestBuilder.DistributedCacheName,
                withNumberOfEntries,
                actualBuilder.TestContext.GetDistributedCacheMock().Count);

            return(actualBuilder.Builder);
        }
Пример #5
0
        /// <summary>
        /// Tests whether the component sets entries in the <see cref="Microsoft.AspNetCore.Http.ISession"/>.
        /// </summary>
        /// <typeparam name="TBuilder">Class representing ASP.NET Core MVC test builder.</typeparam>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentShouldHaveTestBuilder{TBuilder}"/> type.</param>
        /// <param name="withNumberOfEntries">Expected number of <see cref="Microsoft.AspNetCore.Http.ISession"/> entries.
        /// If default null is provided, the test builder checks only if any entries are found.</param>
        /// <returns>The same component should have test builder.</returns>
        public static TBuilder Session <TBuilder>(
            this IBaseTestBuilderWithComponentShouldHaveTestBuilder <TBuilder> builder,
            int?withNumberOfEntries = null)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            DataProviderValidator.ValidateDataProviderNumberOfEntries(
                actualBuilder.TestContext,
                SessionTestBuilder.SessionName,
                withNumberOfEntries,
                actualBuilder.TestContext.Session.Keys.Count());

            return(actualBuilder.Builder);
        }
Пример #6
0
        /// <summary>
        /// Tests whether the component sets entries in the dynamic view bag.
        /// </summary>
        /// <typeparam name="TBuilder">Class representing ASP.NET Core MVC test builder.</typeparam>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentShouldHaveTestBuilder{TBuilder}"/> type.</param>
        /// <param name="withNumberOfEntries">Expected number of dynamic view bag entries.
        /// If default null is provided, the test builder checks only if any entries are found.</param>
        /// <returns>The same component should have test builder.</returns>
        public static TBuilder ViewBag <TBuilder>(
            this IBaseTestBuilderWithComponentShouldHaveTestBuilder <TBuilder> builder,
            int?withNumberOfEntries = null)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            DataProviderValidator.ValidateDataProviderNumberOfEntries(
                actualBuilder.TestContext,
                ViewBagTestBuilder.ViewBagName,
                withNumberOfEntries,
                actualBuilder.TestContext.GetViewData().Count);

            return(actualBuilder.Builder);
        }