public async Task PaymentTermsAsync_WhenCalled_ReturnsOkObjectResult()
        {
            Controller sut = CreateSut();

            ActionResult <IEnumerable <PaymentTermModel> > result = await sut.PaymentTermsAsync();

            Assert.That(result.Result, Is.TypeOf <OkObjectResult>());
        }
        public async Task PaymentTermsAsync_WhenCalled_AssertQueryAsyncWasCalledOnQueryBus()
        {
            Controller sut = CreateSut();

            await sut.PaymentTermsAsync();

            _queryBusMock.Verify(m => m.QueryAsync <EmptyQuery, IEnumerable <IPaymentTerm> >(It.IsNotNull <EmptyQuery>()), Times.Once);
        }
        public async Task PaymentTermsAsync_WhenCalled_AssertOkObjectResultContainsPaymentTerms()
        {
            IList <IPaymentTerm> paymentTermMockCollection = _fixture.CreateMany <IPaymentTerm>(_random.Next(5, 10)).ToList();
            Controller           sut = CreateSut(paymentTermMockCollection);

            OkObjectResult result = (OkObjectResult)(await sut.PaymentTermsAsync()).Result;

            Assert.That(result.Value, Is.Not.Null);

            IList <PaymentTermModel> paymentTermModels = ((IEnumerable <PaymentTermModel>)result.Value).ToList();

            Assert.That(paymentTermModels, Is.Not.Null);
            Assert.That(paymentTermModels, Is.Not.Empty);
            Assert.That(paymentTermModels.Count, Is.EqualTo(paymentTermMockCollection.Count));
        }