private static DynamicContentConditionTree GetExpressionTree(params ConditionTree[] condition) { var blockCondition = new BlockContentCondition() .WithChildrens(condition); var expression = new DynamicContentConditionTree(); expression.WithChildrens(blockCondition); return(expression); }
private IMarketingDynamicContentEvaluator GetEvaluator(DynamicContentItem item, DynamicContentItem[] items, DynamicContentConditionTree expression) { var groups = new List <DynamicContentPublication> { new DynamicContentPublication { DynamicExpression = expression, IsActive = true, ContentItems = new ObservableCollection <DynamicContentItem> { item }, } }; _dynamicContentSearchServiceMock.Setup(dcs => dcs.SearchContentPublicationsAsync(It.IsAny <DynamicContentPublicationSearchCriteria>())) .ReturnsAsync(new Core.Model.DynamicContent.Search.DynamicContentPublicationSearchResult { Results = groups.ToArray() }); _dynamicContentServiceMock.Setup(dcs => dcs.GetContentItemsByIdsAsync(new[] { item.Id })) .ReturnsAsync(items); return(new DefaultDynamicContentEvaluator(_dynamicContentSearchServiceMock.Object, _dynamicContentServiceMock.Object, _loggerMock.Object)); }
public async Task EvaluateItemsAsync(DynamicContentEvaluationContext context, DynamicContentConditionTree expression, bool expectedResult) { // Arrange var dynamicContentItem = new DynamicContentItem { Id = Guid.NewGuid().ToString() }; var dynamicContentItems = new DynamicContentItem[] { dynamicContentItem }; var evaluator = GetEvaluator(dynamicContentItem, dynamicContentItems, expression); // Act var results = await evaluator.EvaluateItemsAsync(context); // Assert Assert.Equal(expectedResult, dynamicContentItems.Equals(results)); }