Ejemplo n.º 1
0
        public void SetUp()
        {
            _processor = Substitute.For <IArticleItemProcessor>();
            _processor.Handles(Arg.Any <string>()).Returns(true);
            _processor.ProcessItem(Arg.Any <UnexpandedArticle>()).Returns(new ArticleTaskResult());

            _sut = new ArticleProcessor(new List <IArticleItemProcessor> {
                _processor
            });
        }
        public async Task Given_A_Category_And_An_Article_Should_Invoke_ProcessItem_Method_Once()
        {
            // Arrange
            const int    expected = 1;
            const string category = "category";

            _processor.Handles(Arg.Any <string>()).Returns(true);
            _processor.ProcessItem(Arg.Any <Article>()).Returns(new ArticleTaskResult());

            // Act
            await _sut.Process(category, new Article());

            // Assert
            await _processor.Received(expected).ProcessItem(Arg.Any <Article>());
        }