public void Resolve_CannotExtractId_ReturnsNull() { // Arrange var key = "test-flow"; var instanceId = new FormFlowInstanceId("the-instance", new RouteValueDictionary()); var stateType = typeof(TestState); var state = new TestState(); var stateProvider = new Mock <IUserInstanceStateProvider>(); stateProvider .Setup(s => s.GetInstance(instanceId)) .Returns(FormFlowInstance.Create(stateProvider.Object, key, instanceId, stateType, state, properties: new Dictionary <object, object>())); var instanceResolver = new InstanceResolver(stateProvider.Object); var httpContext = new DefaultHttpContext(); httpContext.Request.QueryString = new QueryString($"?"); var routeData = new RouteData(); var actionDescriptor = new ActionDescriptor(); actionDescriptor.SetProperty(new FormFlowDescriptor(key, stateType, IdGenerationSource.RandomId)); var actionContext = new ActionContext(httpContext, routeData, actionDescriptor); // Act var result = instanceResolver.Resolve(actionContext); // Assert Assert.Null(result); }
public void Resolve_InstanceDoesNotExistInStateStore_ReturnsNull() { // Arrange var key = "test-flow"; var instanceId = "the-instance"; var stateType = typeof(TestState); var stateProvider = new Mock <IUserInstanceStateProvider>(); var instanceResolver = new InstanceResolver(stateProvider.Object); var httpContext = new DefaultHttpContext(); httpContext.Request.QueryString = new QueryString($"?ffiid={instanceId}"); var routeData = new RouteData(new RouteValueDictionary() { { "ffiid", instanceId } }); var actionDescriptor = new ActionDescriptor(); actionDescriptor.SetProperty(new FormFlowDescriptor(key, stateType, IdGenerationSource.RandomId)); var actionContext = new ActionContext(httpContext, routeData, actionDescriptor); // Act var result = instanceResolver.Resolve(actionContext); // Assert Assert.Null(result); }
public CreateDraftApplicationTests() { this._module = IncidentReportModuleFactory.SetupAndBuild(); var _repository = InstanceResolver.Resolve <IDraftApplicationRepository>(); this._testFixture = new TestFixture(_repository); (_, this._suspiciousEmployee) = EmployeesTestFixture.PrepareApplicantAndRandomEmployeeInDb(); }
public PostApplicationUseCaseTests() { this._module = IncidentReportModuleFactory.SetupAndBuild(); var incidentApplicationRepository = InstanceResolver.Resolve <IIncidentApplicationRepository>(); var draftApplicationRepository = InstanceResolver.Resolve <IDraftApplicationRepository>(); this._testFixture = new TestFixture(incidentApplicationRepository, draftApplicationRepository); (this._applicant, this._suspiciousEmployee) = EmployeesTestFixture.PrepareApplicantAndRandomEmployeeInDb(); }
public Task BindModelAsync(ModelBindingContext bindingContext) { if (!FormFlowInstance.IsFormFlowInstanceType(bindingContext.ModelType)) { return(Task.CompletedTask); } var resolver = new InstanceResolver(_stateProvider); var instance = resolver.Resolve(bindingContext.ActionContext); if (instance != null) { bindingContext.Result = ModelBindingResult.Success(instance); } return(Task.CompletedTask); }
public void Resolve_ActionDescriptorHasNoFormFlowActionDescriptor_ReturnsNull() { // Arrange var stateProvider = new Mock <IUserInstanceStateProvider>(); var instanceResolver = new InstanceResolver(stateProvider.Object); var httpContext = new DefaultHttpContext(); var routeData = new RouteData(); var actionDescriptor = new ActionDescriptor(); var actionContext = new ActionContext(httpContext, routeData, actionDescriptor); // Act var result = instanceResolver.Resolve(actionContext); // Assert Assert.Null(result); }
public object Resolve(Type requiredType) { return(resolver.Resolve(requiredType)); }