private static ICommandHandler CreateCommandHandlers() { Action <IEnumerable <FileCabinetRecord> > printer; printer = DefaultRecordPrint; var recordPrinter = new DefaultRecordPrinter(); var createHandler = new CreateCommandHandler(Program.fileCabinetService); var editHandler = new EditCommandHandler(Program.fileCabinetService); var exitHandler = new ExitCommandHandler(stopProgram); var exportHandler = new ExportCommandHandler(Program.fileCabinetService); var findHandler = new FindCommandHandler( Program.fileCabinetService, printer); var helpHandler = new HelpCommandHandler(); var importHandler = new ImportCommandHandler(Program.fileCabinetService); var listHandler = new ListCommandHandler( Program.fileCabinetService, printer); var purgeHandler = new PurgeCommandHandler(Program.fileCabinetService); var removeHandler = new RemoveCommandHandler(Program.fileCabinetService); var statHandler = new StatCommandHandler(Program.fileCabinetService); var defaultHandler = new DefaultHandler(); createHandler.SetNext(editHandler); editHandler.SetNext(exitHandler); exitHandler.SetNext(exportHandler); exportHandler.SetNext(findHandler); findHandler.SetNext(helpHandler); helpHandler.SetNext(importHandler); importHandler.SetNext(listHandler); listHandler.SetNext(purgeHandler); purgeHandler.SetNext(removeHandler); removeHandler.SetNext(statHandler); statHandler.SetNext(defaultHandler); return(createHandler); }
private static ICommandHandler CreateCommandHandlers() { var helpHandler = new HelpCommandHandler(); var createHandler = new CreateCommandHandler(fileCabinetService, isCustomValidationRules); var editHandler = new EditCommandHandler(fileCabinetService, isCustomValidationRules); var exitHandler = new ExitCommandHandler(setProgramStatus); var exporthandler = new ExportCommandHandler(fileCabinetService); var findHandler = new FindCommandHandler(fileCabinetService, DefaultRecordPrint); var importHandler = new ImportCommandHandler(fileCabinetService); var listHandler = new ListCommandHandler(fileCabinetService, DefaultRecordPrint); var purgeHandler = new PurgeCommandHandler(fileCabinetService); var removeHandler = new RemoveCommandHandler(fileCabinetService); var statHandler = new StatCommandHandler(fileCabinetService); helpHandler.SetNext(createHandler); createHandler.SetNext(editHandler); editHandler.SetNext(exitHandler); exitHandler.SetNext(exporthandler); exporthandler.SetNext(findHandler); findHandler.SetNext(importHandler); importHandler.SetNext(listHandler); listHandler.SetNext(purgeHandler); purgeHandler.SetNext(removeHandler); removeHandler.SetNext(statHandler); return(helpHandler); }
private static ICommandHandler CreateCommandHandlers() { IRecordPrinter recordPrinter = new DefaultRecordPrinter(); var create = new CreateCommandHandler(fileCabinetService); var exit = new ExitCommandHandler(Exit); var stat = new StatCommanHandler(fileCabinetService); var help = new PrintHelpCommandHandler(); var edit = new EditCommandHandler(fileCabinetService); var find = new FindCommandHandler(fileCabinetService, DefaultRecordPrint); var export = new ExportCommandHandler(fileCabinetService); var import = new ImportCommandHandler(fileCabinetService); var remove = new RemoveCommandHandler(fileCabinetService); var purge = new PurgeCommandHandler(fileCabinetService); create.SetNext(exit).SetNext(stat).SetNext(edit).SetNext(find).SetNext(export).SetNext(import).SetNext(remove).SetNext(purge).SetNext(help); return(create); }
public async Task Delete_Author_Should_Fail_For_Null_Author() { //Arrange var fixture = new Fixture(); var command = fixture.Create <DeleteAuthorCommand>(); var mockUnitOfWork = new Mock <IUnitOfWork>(); var mockAuthorRepository = new Mock <IAsyncRepository <Author> >(); mockAuthorRepository.Setup(x => x.FindAsync(It.IsAny <long>())).ReturnsAsync(It.IsAny <Author>()); mockUnitOfWork.Setup(x => x.AuthorRepository).Returns(mockAuthorRepository.Object); var removeAuthorHandler = new RemoveCommandHandler(mockUnitOfWork.Object); //Act var result = await removeAuthorHandler.Handle(command); //Assert result.IsFailure.Should().BeTrue(); result.Error.Should().Be($"No Author found for Id {command.Id}."); }
public async Task Delete_Author_Should_Call_Remove_Method_And_SaveChanges_Once() { //Arrange var fixture = new Fixture(); var command = fixture.Create <DeleteAuthorCommand>(); fixture.Customize(new AuthorCustomization()); var author = fixture.Create <Author>(); var mockUnitOfWork = new Mock <IUnitOfWork>(); var mockAuthorRepository = new Mock <IAsyncRepository <Author> >(); mockAuthorRepository.Setup(x => x.FindAsync(It.IsAny <long>())).ReturnsAsync(author); mockUnitOfWork.Setup(x => x.AuthorRepository).Returns(mockAuthorRepository.Object); var removeAuthorHandler = new RemoveCommandHandler(mockUnitOfWork.Object); //Act var result = await removeAuthorHandler.Handle(command); //Assert mockAuthorRepository.Verify(x => x.Remove(It.IsAny <Author>()), Times.Once); mockUnitOfWork.Verify(x => x.SaveChangesAsync(), Times.Once); result.IsSuccess.Should().BeTrue(); }
public RemoveCommand(IServiceProvider serviceProvider) : base("remove") { Description = "Deletes a to do item."; Handler = RemoveCommandHandler.Create(serviceProvider); }