public async Task RequestStatusChange_NewRequest_SuccessfullRead() { IServiceCollection services = new ServiceCollection(); services.AddKitchenDomain() .AddKitchenApplication() .AddKitchenInfrastructure("Server=.;Database=RestaurantManagementSystem;Trusted_Connection=True;MultipleActiveResultSets=true", "S0M3 M4G1C UN1C0RNS G3N3R4T3D TH1S S3CR3T"); var serviceProviderFactory = new DefaultServiceProviderFactory(); IServiceProvider serviceProvider = serviceProviderFactory.CreateServiceProvider(services); IMediator Mediator = serviceProvider.GetService <IMediator>(); var createRequestCommand = new CreateRequestCommand(); createRequestCommand.CreatorReferenceId = "sdafsad"; createRequestCommand.Items.Add(new RequestItemInputModel(1, "Bez Chesun")); createRequestCommand.Items.Add(new RequestItemInputModel(2, "Bez Chesun")); CreateRequestOutputModel createRequestOutput; createRequestOutput = await Mediator.Send(createRequestCommand); var getRequestsQuery = new GetRequestsQuery(); var getRequestsResult = await Mediator.Send(getRequestsQuery); var request = getRequestsResult.Requests.FirstOrDefault(request => request.Id == createRequestOutput.RequestId); var setRequestStatusCommand = new SetRequestStatusCommand(); setRequestStatusCommand.RequestId = createRequestOutput.RequestId; setRequestStatusCommand.NewRequestStatus = RequestStatus.InProgress.Value; var newItemStatus = new ItemStatus(request.Items.ElementAt(0).Id, RequestItemStatus.Ready.Value); setRequestStatusCommand.ItemStatuses.Add(newItemStatus); await Mediator.Send(setRequestStatusCommand); getRequestsResult = await Mediator.Send(getRequestsQuery); request = getRequestsResult.Requests.FirstOrDefault(request => request.Id == createRequestOutput.RequestId); Assert.AreEqual(setRequestStatusCommand.NewRequestStatus.Value, request.Status.Value); foreach (var commandItemStatus in setRequestStatusCommand.ItemStatuses) { var requestItem = request.Items.FirstOrDefault(requestItem => requestItem.Id == commandItemStatus.ItemId); Assert.AreEqual(requestItem.Status.Value, commandItemStatus.NewStatus); } }
public async Task <ActionResult <Unit> > SetRequestStatus(SetRequestStatusCommand setRequestStatusCommand) { return(await Send(setRequestStatusCommand)); }