コード例 #1
0
        public async Task <IActionResult> DeleteTutorAsync(long id, CancellationToken token)
        {
            var command = new DeleteSubjectCommand(id);
            await _commandBus.DispatchAsync(command, token);

            return(Ok());
        }
コード例 #2
0
        public void DeleteSubjectCommand_ShouldThrowNotFoundException()
        {
            var command = new DeleteSubjectCommand {
                Id = 99
            };

            FluentActions.Invoking(() =>
                                   SendAsync(command)).Should().Throw <NotFoundException>();
        }
コード例 #3
0
        public async Task <ActionResult> DeleteSubject(int id)
        {
            var deleteSubjectCommand = new DeleteSubjectCommand()
            {
                Id = id
            };
            await _mediator.Send(deleteSubjectCommand);

            return(NoContent());
        }
コード例 #4
0
        public async Task ThrowDeleteFailureException_WhenLectorSubjectWithSubjectExists()
        {
            var request = new DeleteSubjectCommand
            {
                Id = 2
            };

            var handler = new DeleteSubjectCommandHandler(Context);

            var exception = Assert.ThrowsAsync <DeleteFailureException>(async() => await handler.Handle(request, CancellationToken.None));

            Assert.AreEqual(exception.Message, ExceptionMessagesBuilderHelper.GetDeleteFailureExceptionMessage(nameof(Subject), request.Id, "This subjects is assigned to lectors"));
        }
コード例 #5
0
        public async Task ThrowNotFoundException_WhenSubjectIsNotExists()
        {
            var request = new DeleteSubjectCommand
            {
                Id = 100
            };

            var handler = new DeleteSubjectCommandHandler(Context);

            var exception = Assert.ThrowsAsync <NotFoundException>(async() => await handler.Handle(request, CancellationToken.None));

            Assert.AreEqual(exception.Message, ExceptionMessagesBuilderHelper.GetNotFoundExceptionMessage(nameof(Subject), request.Id));
        }
コード例 #6
0
        public async Task DeleteSubject()
        {
            var request = new DeleteSubjectCommand
            {
                Id = 1
            };

            var handler = new DeleteSubjectCommandHandler(Context);

            var result = await handler.Handle(request, CancellationToken.None);

            Assert.IsFalse(Context.Subjects.Any(x => x.Id == request.Id));
        }
コード例 #7
0
        public async Task DeleteSubjectCommand_ShouldThrowDeleteFailureExceptionAsync()
        {
            var subjectId = await SendAsync(new CreateSubjectCommand { Name = "StaffLogic" });

            var extraClassId = await SendAsync(new CreateExtraClassCommand
            {
                SubjectId = subjectId,
                Date      = DateTime.Now,
                Duration  = TimeSpan.FromMinutes(60),
                Name      = "StaffLogic",
                Price     = 100,
                Size      = 2
            });

            var command = new DeleteSubjectCommand {
                Id = subjectId
            };

            FluentActions.Invoking(() =>
                                   SendAsync(command)).Should().Throw <DeleteFailureException>();
        }