public async Task QueryAsyncCorrectlyUsesQueryHandler() { var configuration = new DomainConfiguration(); var modelHandler = new TestModelHandler(); var modelMapper = new TestModelMapper(); var queryHandler = new TestQueryHandler(); configuration.SetHookPoint(typeof(IModelHandler), modelHandler); configuration.SetHookPoint(typeof(IModelMapper), modelMapper); configuration.SetHookPoint(typeof(IQueryHandler), queryHandler); configuration.EnsureCommitted(); var context = new DomainContext(configuration); modelHandler.DomainContext = context; modelHandler.Model = new EdmModel(); queryHandler.DomainContext = context; queryHandler.Results = new string[] { "Test" }; var queryRequest = new QueryRequest( Domain.Source <string>(context, "Test"), true); var queryResult = await Domain.QueryAsync(context, queryRequest); Assert.True(queryResult.Results.Cast <string>() .SequenceEqual(new string[] { "Test" })); }
public void ModelDriverShouldUsePersistenceFilterToDelegateCreateAndLoad() { var modelDriver = new TestModelHandler(); var contentItem = new ContentItem(); var part = new TestModelPart(); contentItem.Weld(part); ((IContentHandler)modelDriver).Creating(new CreateContentContext(contentItem)); Assert.That(part.CreatingCalled, Is.True); }
public void PartShouldBeAddedBasedOnSimplePredicate() { var modelDriver = new TestModelHandler(); var builder = new ContentItemBuilder(new ContentTypeDefinitionBuilder().Named("testing").Build()); ((IContentHandler)modelDriver).Activating(new ActivatingContentContext { Builder = builder, ContentType = "testing" }); var model = builder.Build(); Assert.That(model.Is <TestModelPart>(), Is.True); Assert.That(model.As <TestModelPart>(), Is.Not.Null); }
public async Task GetModelAsyncCorrectlyUsesModelHandler() { var configuration = new DomainConfiguration(); var modelHandler = new TestModelHandler(); configuration.SetHookPoint(typeof(IModelHandler), modelHandler); configuration.EnsureCommitted(); var context = new DomainContext(configuration); modelHandler.DomainContext = context; modelHandler.Model = new EdmModel(); var domainModel = await Domain.GetModelAsync(context); var domainModelType = typeof(Domain).Assembly.GetType( "Microsoft.Restier.Core.Model.DomainModel"); Assert.True(domainModelType.IsAssignableFrom(domainModel.GetType())); Assert.Same(modelHandler.Model, domainModelType .GetProperty("InnerModel").GetValue(domainModel)); }
public async Task SubmitAsyncCorrectlyUsesSubmitHandler() { var configuration = new DomainConfiguration(); var modelHandler = new TestModelHandler(); var modelMapper = new TestModelMapper(); var submitHandler = new TestSubmitHandler(); configuration.SetHookPoint(typeof(IModelHandler), modelHandler); configuration.SetHookPoint(typeof(IModelMapper), modelMapper); configuration.SetHookPoint(typeof(ISubmitHandler), submitHandler); configuration.EnsureCommitted(); var context = new DomainContext(configuration); modelHandler.DomainContext = context; modelHandler.Model = new EdmModel(); submitHandler.DomainContext = context; submitHandler.ChangeSet = new ChangeSet(); var submitResult = await Domain.SubmitAsync(context); Assert.Same(submitHandler.ChangeSet, submitResult.CompletedChangeSet); }