コード例 #1
0
        public async Task GetRequest_AllRequests_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 getRequestsQuery  = new GetRequestsQuery();
            var getRequestsResult = await Mediator.Send(getRequestsQuery);

            foreach (var request in getRequestsResult.Requests)
            {
                Assert.IsNotNull(request.Items);
                foreach (var item in request.Items)
                {
                    Assert.IsNotNull(item.Recipe);
                }
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        public async Task CreateRequest_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 = "TestId";
            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);

            Assert.AreEqual(createRequestCommand.CreatorReferenceId, request.CreatorReferenceId);
            foreach (var item in request.Items)
            {
                var commandItem = createRequestCommand.Items.FirstOrDefault(commandItem => commandItem.RecipeId == item.Recipe.Id);
                Assert.AreEqual(item.Recipe.Id, commandItem.RecipeId);
            }
        }
コード例 #4
0
 public async Task <ActionResult> GetAll([FromQuery] GetRequestsQuery request)
 {
     return(Ok(await Mediator.Send(request)));
 }
コード例 #5
0
 public async Task <ActionResult <GetRequestsOutputModel> > GetRequestsQuery([FromQuery] GetRequestsQuery getRequestsQuery)
 {
     return(await Send(getRequestsQuery));
 }