public async Task <IActionResult> Update([FromRoute] int id)
        {
            var command = new DeleteWorkerCommand(id);
            var result  = await _mediator.Send(command);

            return(result.Success ? (IActionResult)Ok(result) : NotFound());
        }
Пример #2
0
        public async Task DeleteCommandHandler_ThrowsException_WhenWorkerDoesNotExit()
        {
            var workerId = 1;
            var command  = new DeleteWorkerCommand {
                Id = workerId
            };
            var handler = new DeleteWorkerCommandHandler(mockRepo.Object);

            await Assert.ThrowsAsync <NotFoundException>(() => handler.Handle(command, CancellationToken.None));

            mockRepo.Verify(x => x.GetById(workerId), Times.Once());
            mockRepo.Verify(x => x.Remove(It.IsAny <Worker>()), Times.Never());
        }
Пример #3
0
        public async Task DeleteCommandHandler_SuccessfullyDeletesWorker_WhenWorkerExists()
        {
            var worker  = GetWorkerToDelete();
            var command = new DeleteWorkerCommand {
                Id = worker.Id
            };
            var handler = new DeleteWorkerCommandHandler(mockRepo.Object);

            mockRepo.Setup(x => x.GetById(worker.Id)).ReturnsAsync(GetWorkerToDelete());

            await handler.Handle(command, CancellationToken.None);

            mockRepo.Verify(x => x.GetById(worker.Id), Times.Once());
            mockRepo.Verify(x => x.Remove(It.Is <Worker>(w => w.Id == worker.Id)), Times.Once());
        }
Пример #4
0
        public async Task ShouldDeleteWorkerTest()
        {
            // Arrange
            var worker = new Worker
            {
                Id          = Guid.NewGuid(),
                Email       = "*****@*****.**",
                Name        = "Name Nameson",
                PhoneNumber = "0700123123",
            };

            await InsertAsync <Worker>(worker);

            var query   = new GetWorkerByIdQuery(worker.WorkerId);
            var command = new DeleteWorkerCommand(worker.WorkerId);

            // Act
            var getBeforeDeletion = await SendRequestAsync(query);

            var deleteCommandResult = await SendRequestAsync(command);

            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();
        }