Exemple #1
0
        /// <summary>
        /// Checks whether a view result contains a model that matches the specified condition.
        /// </summary>
        /// <typeparam name="TModel">The type of view result model.</typeparam>
        /// <param name="instance">The view result test.</param>
        /// <param name="predicate">The delegate that defines the model condition.</param>
        /// <returns>The model test.</returns>
        /// <exception cref="TestStack.FluentMVCTesting.ViewResultModelAssertionException">The view result model does not match the specified condition.</exception>
        /// <remarks>
        /// This method substitues the WithModel method with condition parameter as it serializes the model into JSON.
        /// Kentico TreeNode class is not serializable when the database is not available and as the result the WithModel method fails.
        /// </remarks>
        public static ModelTest <TModel> WithModelMatchingCondition <TModel>(this ViewResultTest instance, Expression <Func <TModel, bool> > predicate) where TModel : class
        {
            var test       = instance.WithModel <TModel>();
            var viewResult = mViewResultField.GetValue(instance) as ViewResultBase;
            var model      = viewResult.Model as TModel;

            var compiledPredicate = predicate.Compile();

            if (!compiledPredicate(model))
            {
                throw new ViewResultModelAssertionException("Expected view model to pass the given condition, but it failed.");
            }

            return(test);
        }
 public void Check_the_type_of_model()
 {
     _viewResultTest.WithModel <TestViewModel>();
 }