Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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();
        }