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(); }
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)); }
/// <summary> /// Add a new strategy for attaching views to actions /// </summary> /// <param name="filter"></param> 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) { _policy.AddFilter(strategy); }
public void FoundViews(IViewsForActionFilter filter, IEnumerable <IViewToken> views) { _logs.Add(new ViewsForFilterLog(filter, views)); }
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)); }
public ViewsForFilterLog(IViewsForActionFilter filter, IEnumerable<IViewToken> views) { _filter = filter; _views = views.ToList(); }
public ViewsForFilterLog(IViewsForActionFilter filter, IEnumerable <IViewToken> views) { _filter = filter; _views = views.ToList(); }