public async Task Fires_error_handler_on_error() { var fakeDocumentActions = FakeDocumentAction.AListOfDocumentActions(1); var errorHandlerRun = false; var sut = new DocumentProcessor( _documentCreator, fakeDocumentActions.Select <FakeDocumentAction, Func <WaivesDocument, CancellationToken, Task <WaivesDocument> > >(f => f.ThrowError), _documentDeleter, (exception, document) => { errorHandlerRun = true; }); await sut.RunAsync(_testDocument); Assert.True(errorHandlerRun); }
public async Task Runs_all_provided_actions_on_docs() { var fakeDocumentActions = FakeDocumentAction.AListOfDocumentActions(3); var sut = new DocumentProcessor( _documentCreator, fakeDocumentActions.Select <FakeDocumentAction, Func <WaivesDocument, CancellationToken, Task <WaivesDocument> > >(f => f.Run), _documentDeleter, _onDocumentException); await sut.RunAsync(_testDocument); Assert.All(fakeDocumentActions, documentAction => { Assert.True(documentAction.HasRun); }); }
public async Task Create_WaivesDocument_from_Document() { Document capturedDoc = null; var documentActions = new List <Func <WaivesDocument, CancellationToken, Task <WaivesDocument> > > { (waivesDoc, cancellationToken) => { capturedDoc = waivesDoc.Source; return(Task.FromResult(waivesDoc)); } }; var sut = new DocumentProcessor( _documentCreator, documentActions, _documentDeleter, _onDocumentException); await sut.RunAsync(_testDocument); Assert.Same(_testDocument, capturedDoc); }
public async Task Deletes_document_after_error() { var documentDeleted = false; Task DocumentDeleter(WaivesDocument document) { documentDeleted = true; return(Task.CompletedTask); } var fakeDocumentActions = FakeDocumentAction.AListOfDocumentActions(1); var sut = new DocumentProcessor( _documentCreator, fakeDocumentActions.Select <FakeDocumentAction, Func <WaivesDocument, CancellationToken, Task <WaivesDocument> > >(f => f.ThrowError), DocumentDeleter, _onDocumentException); await sut.RunAsync(_testDocument); Assert.True(documentDeleted); }