AccidentalFish.ApplicationSupport.Core.Tests.Unit.Queues.Implementation.LargeMessageQueueTests.DequeueCallsProcessorWithLargeMessage C# (CSharp) Метод

DequeueCallsProcessorWithLargeMessage() приватный Метод

private DequeueCallsProcessorWithLargeMessage ( ) : System.Threading.Tasks.Task
Результат System.Threading.Tasks.Task
        public async Task DequeueCallsProcessorWithLargeMessage()
        {
            // Arrange
            var didDeque = false;
            var blob = new Mock<IBlob>();
            _blobRepository.Setup(x => x.Get("hello")).Returns(blob.Object);
            var queue = new LargeMessageQueue<TestQueueItem>(_queueSerializerMock.Object, _referenceQueueMock.Object, _blobRepository.Object, _loggerMock.Object, null);
            var item = new TestQueueItem { Name = "Zaphod" };
            var reference = new LargeMessageReference {BlobReference = "hello"};
            //var referenceQueueItem = new Mock<IQueueItem>();
            var referenceItem = new Mock<IQueueItem<LargeMessageReference>>();
            referenceItem.SetupGet(x => x.Item).Returns(reference);
            _referenceQueueMock.Setup(
                x => x.DequeueAsync(It.IsAny<Func<IQueueItem<LargeMessageReference>, Task<bool>>>()))
                .Returns(Task.FromResult(0))
                .Callback((Func<IQueueItem<LargeMessageReference>,Task<bool>> func) =>
                {
                    func(referenceItem.Object);
                });

            // Act
            await queue.DequeueAsync(tqi =>
            {
                didDeque = true;
                return Task.FromResult(true);
            });

            // Assert
            Assert.IsTrue(didDeque);
        }
    }