public async Task ShouldGetWorkOrderByObjectNumber() { // Arrange 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(workOrder); var query = new GetWorkOrderByIdQuery(workOrder.ObjectNumber); // Act var createWorkOrderCommandResponse = await SendRequestAsync(query); var actualWorkOrder = await FindAsync <WorkOrder>(workOrder.ObjectNumber); // Assert createWorkOrderCommandResponse.ShouldNotBeNull(); actualWorkOrder.ShouldNotBeNull(); actualWorkOrder.Id.ShouldBe(workOrder.Id); actualWorkOrder.Address.ShouldBe(workOrder.Address); actualWorkOrder.Description.ShouldBe(workOrder.Description); actualWorkOrder.ObjectNumber.ShouldBe(workOrder.ObjectNumber); }
public async Task <IActionResult> GetByObjectNumber(string id) { var query = new GetWorkOrderByIdQuery(id); var result = await _mediator.Send(query); return(result.Success ? (IActionResult)Ok(result.Data) : NotFound()); }
public async Task ShouldDeleteWorkOrder() { // Arrange 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(workOrder); var deleteWorkOrderCommand = new DeleteWorkOrderCommand(workOrder.ObjectNumber); var query = new GetWorkOrderByIdQuery(workOrder.ObjectNumber); // Act var getBeforeDeletion = await SendRequestAsync(query); var deleteCommandResult = await SendRequestAsync(deleteWorkOrderCommand); var getQueryResult = await SendRequestAsync(query); // Assert // Asserting before delete command getBeforeDeletion.Success.ShouldBeTrue(); deleteCommandResult.Data.ShouldNotBeNull(); deleteCommandResult.Message.ShouldBeNullOrEmpty(); // Asserting delete command deleteCommandResult.Success.ShouldBeTrue(); deleteCommandResult.Data.ShouldNotBeNull(); deleteCommandResult.Message.ShouldBeNullOrEmpty(); // Asserting query command getQueryResult.Data.ShouldBeNull(); getQueryResult.Message.ShouldNotBeNullOrEmpty(); getQueryResult.Success.ShouldBeFalse(); }