Exemple #1
0
        public void creating_the_logs_for_multiple_profiles_and_filters()
        {
            theProfileMatches <Conditional1>(1, 2, 3, 4, 5);
            IViewsForActionFilter f1 = filterMatching(1, 2, 3);
            IViewsForActionFilter f2 = filterMatching(1);
            IViewsForActionFilter f3 = filterMatching(4, 5, 6); // 6 should catch in the default profile

            afterAttaching();

            var log1 = theAction.As <ITracedModel>().StagedEvents.OfType <ViewAttachmentLog>().ElementAt(0);

            log1.Profile.ConditionType.ShouldEqual(typeof(Conditional1));
            log1.Logs.Count().ShouldEqual(2);

            log1.Logs.ElementAt(0).Filter.ShouldBeTheSameAs(f1);
            log1.Logs.ElementAt(0).Views.ShouldHaveTheSameElementsAs(views(1, 2, 3));

            log1.Logs.ElementAt(1).Filter.ShouldBeTheSameAs(f2);
            log1.Logs.ElementAt(1).Views.ShouldHaveTheSameElementsAs(views(1));


            var log2 = theAction.As <ITracedModel>().StagedEvents.OfType <ViewAttachmentLog>().ElementAt(1);

            log2.Profile.ConditionType.ShouldEqual(typeof(Always));

            log2.Logs.Count().ShouldEqual(1);
            log2.Logs.Single().Filter.ShouldBeTheSameAs(f3);
            log2.Logs.Single().Views.ShouldHaveTheSameElementsAs(views(6));
        }
 public void Setup()
 {
     _observer           = new RecordingConfigurationObserver();
     _action             = ActionCall.For <ViewsForActionFilterTesterController>(x => x.AAction());
     _fromFindsOne       = new FakeViewToken();
     _fromSecondFindsOne = new FakeViewToken();
     _views = new ViewBag(new IViewToken[] { _fromFindsOne, _fromSecondFindsOne });
     _filterThatFindsNone             = createFilterThatReturns(new IViewToken[0]);
     _firstFilterThatFindsExactlyOne  = createFilterThatReturns(_fromFindsOne);
     _secondFilterThatFindsExactlyOne = createFilterThatReturns(_fromSecondFindsOne);
     _filterThatFindsMultiple         = createFilterThatReturns(_fromFindsOne, _fromSecondFindsOne);
     _viewAttacherConvention          = new ViewAttacherConvention();
 }
 public void Setup()
 {
     _observer = new RecordingConfigurationObserver();
     _action = ActionCall.For<ViewsForActionFilterTesterController>(x => x.AAction());
     _fromFindsOne = new FakeViewToken();
     _fromSecondFindsOne = new FakeViewToken();
     _views = new ViewBag(new IViewToken[] { _fromFindsOne, _fromSecondFindsOne });
     _filterThatFindsNone = createFilterThatReturns(new IViewToken[0]);
     _firstFilterThatFindsExactlyOne = createFilterThatReturns(_fromFindsOne);
     _secondFilterThatFindsExactlyOne = createFilterThatReturns(_fromSecondFindsOne);
     _filterThatFindsMultiple = createFilterThatReturns(_fromFindsOne, _fromSecondFindsOne);
     _viewAttacherConvention = new ViewAttacherConvention();
 }
Exemple #4
0
        public void create_the_log_files_for_default_only_matching()
        {
            IViewsForActionFilter filter1 = filterMatching(1, 2, 3);
            IViewsForActionFilter filter2 = filterMatching(1, 2);
            IViewsForActionFilter filter3 = filterMatching(2);

            afterAttaching();

            // going to create one log per profile
            var log = theAction.As <ITracedModel>().StagedEvents.OfType <ViewAttachmentLog>().Single();

            log.Profile.ConditionType.ShouldEqual(typeof(Always));
            log.Profile.ShouldBeOfType <DefaultProfile>();

            log.Logs.ElementAt(0).Filter.ShouldBeTheSameAs(filter1);
            log.Logs.ElementAt(0).Views.ShouldHaveTheSameElementsAs(views(1, 2, 3));

            log.Logs.ElementAt(1).Filter.ShouldBeTheSameAs(filter2);
            log.Logs.ElementAt(1).Views.ShouldHaveTheSameElementsAs(views(1, 2));

            log.Logs.ElementAt(2).Filter.ShouldBeTheSameAs(filter3);
            log.Logs.ElementAt(2).Views.ShouldHaveTheSameElementsAs(views(2));
        }
Exemple #5
0
 /// <summary>
 /// Add a new strategy for attaching views to actions
 /// </summary>
 /// <param name="filter"></param>
 public void AddFilter(IViewsForActionFilter filter)
 {
     _filters.Add(filter);
 }
Exemple #6
0
 /// <summary>
 /// Specify your custom strategy to find attach views to Actions.
 /// </summary>
 public void @by(IViewsForActionFilter strategy)
 {
     _policy.AddFilter(strategy);
 }
 public void FoundViews(IViewsForActionFilter filter, IEnumerable <IViewToken> views)
 {
     _logs.Add(new ViewsForFilterLog(filter, views));
 }
Exemple #8
0
 public void AddFilter(IViewsForActionFilter filter)
 {
     _filters.Add(filter);
 }
 /// <summary>
 /// Specify your custom strategy to find attach views to Actions.
 /// </summary>
 public void @by(IViewsForActionFilter strategy)
 {
     _attacher.AddViewsForActionFilter(strategy);
 }
 public void FoundViews(IViewsForActionFilter filter, IEnumerable<IViewToken> views)
 {
     _logs.Add(new ViewsForFilterLog(filter, views));
 }
Exemple #11
0
 public ViewsForFilterLog(IViewsForActionFilter filter, IEnumerable<IViewToken> views)
 {
     _filter = filter;
     _views = views.ToList();
 }
Exemple #12
0
 public ViewsForFilterLog(IViewsForActionFilter filter, IEnumerable <IViewToken> views)
 {
     _filter = filter;
     _views  = views.ToList();
 }