Пример #1
0
        public async Task <IActionResult> AddWorkHours([FromRoute] string id, [FromBody] AddWorkHoursCommand command)
        {
            command.ObjectNumber = id;
            var result = await _mediator.Send(command);

            return(Ok(result));
        }
        public async Task ShouldAddWorkOrderWorker_Should_Add_Successfully()
        {
            // arrange
            var worker = new Worker
            {
                Id          = Guid.NewGuid(),
                Email       = "*****@*****.**",
                Name        = "Name Nameson",
                PhoneNumber = "0700123123",
            };

            var workOrder = new WorkOrder
            {
                Address      = "Address 123",
                Description  = "Description 123",
                ObjectNumber = $"B{NextObjectNumber()}",
                StartDate    = DateTimeOffset.Now,
                EndDate      = DateTimeOffset.Now.AddDays(5),
                Status       = WorkOrderStatus.NotStarted,
            };

            await InsertAsync(worker);
            await InsertAsync(workOrder);

            var addWorkHoursCommand = new AddWorkHoursCommand()
            {
                WorkerId     = worker.WorkerId,
                ObjectNumber = workOrder.ObjectNumber,
                HoursWorked  = 10,
                DateTime     = DateTime.UtcNow,
            };

            // act
            await SendRequestAsync(addWorkHoursCommand);

            var result = await FindAsync <WorkOrderWorker>(addWorkHoursCommand.ObjectNumber, addWorkHoursCommand.WorkerId);

            //assert
            result.ShouldNotBeNull();
            result.WorkerId     = addWorkHoursCommand.WorkerId;
            result.DateTime     = addWorkHoursCommand.DateTime;
            result.ObjectNumber = addWorkHoursCommand.ObjectNumber;
            result.HoursWorked  = addWorkHoursCommand.HoursWorked;
        }