Example #1
0
        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);
        }
Example #2
0
        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);
            });
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }