Exemplo n.º 1
0
        public void ListSkus_CallsListSkusMethodFromServicesLayer_WichReturnsAnEmptyList()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();
            Mock <ISkuData>      data         = new Mock <ISkuData>();

            data.Setup(o => o.ListSkus()).Returns(emptySkus);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            List <string> result = sut.ListSkus();

            Assert.AreEqual(emptySkus.Count, result.Count);
        }
Exemplo n.º 2
0
        public void ListSkus_WithoutParameters_ReturnsAStringList()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();
            Mock <ISkuData>      data         = new Mock <ISkuData>();

            data.Setup(o => o.ListSkus()).Returns(oneSku);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            List <string> result = sut.ListSkus();

            Assert.IsTrue(result is List <string>, "result is not a 'string list'");
        }
Exemplo n.º 3
0
        public void ListSkus_WithoutParameters_InvokesListSkusMethodFromBusinessLayer()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();
            Mock <ISkuData>      data         = new Mock <ISkuData>();

            data.Setup(o => o.ListSkus()).Returns(oneSku);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            List <string> result = sut.ListSkus();

            data.Verify(m => m.ListSkus(), Times.Once());
        }
Exemplo n.º 4
0
        public async Task GetTransactionsBySku_WithAnSkuId_InvokesGetTransactionsBySkuMethodFromBusniessLayer()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();

            rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions));
            Mock <ISkuData> data = new Mock <ISkuData>();

            data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(oneTransaction);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku);

            data.Verify(m => m.GetTransactionsBySku(CommonFakes.firstSku), Times.Once);
        }
Exemplo n.º 5
0
        public async Task GetTransactionsBySku_WithAnSkuId_InvokesRoundBankMethodBankCalculusObject()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();

            rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions));
            Mock <IBankCalculus> bankCalculus = new Mock <IBankCalculus>();

            bankCalculus.Setup(m => m.RoundBank(It.IsAny <decimal>())).Returns(CommonFakes.firstAmount);
            Mock <ISkuData> data = new Mock <ISkuData>();

            data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(oneTransactionForBank);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus.Object, commonFakes.Configaration, commonFakes.Mapper);

            Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku);

            bankCalculus.Verify(m => m.RoundBank(It.IsAny <decimal>()), Times.Exactly(CommonFakes.twice));
        }
Exemplo n.º 6
0
        public async Task GetTransactionsBySku_WithAnSkuId_ReturnsAFullSkuData()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();

            rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions));
            Mock <ISkuData> data = new Mock <ISkuData>();

            data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(oneTransaction);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku);

            Assert.AreEqual(CommonFakes.firstSku, result.Name);
            Assert.AreEqual(oneTransaction.Count, result.Transactions.Count);
            Assert.AreEqual(oneTransaction.First().Sku, result.Transactions.First().Sku);
            Assert.AreEqual(oneTransaction.First().Amount, result.Transactions.First().Amount);
            Assert.AreEqual(oneTransaction.First().Currency, result.Transactions.First().Currency);
        }
Exemplo n.º 7
0
        public async Task GetTransactionsBySku_WithAnSkuId_ReturnsAFullSkuDataWithTotalRoundedToBank()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();

            rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions));
            Mock <ISkuData> data = new Mock <ISkuData>();

            data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(twoTransactionForBanks);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku);

            decimal total = twoTransactionForBanks.Sum(o => commonFakes.RoundBank(o.Amount));

            total = commonFakes.RoundBank(total);

            Assert.AreEqual(CommonFakes.firstSku, result.Name);
            Assert.AreEqual(total, result.Total);
        }
Exemplo n.º 8
0
        public void ListSkus_CallsListSkusMethodFromServicesLayer_WichThrowsAnException()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();
            Mock <ISkuData>      data         = new Mock <ISkuData>();

            data.Setup(o => o.ListSkus()).Throws(exception);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            try
            {
                sut.ListSkus();

                Assert.IsTrue(false, "No exception thrown. Exception exception was expected.");
            }
            catch (Exception result)
            {
                Assert.AreSame(exception, result);
            }
        }
Exemplo n.º 9
0
        public async Task GetTransactionsBySku_CallsGetTransactionsBySkuMethodFromServicesLayer_WichThrowsAnException()
        {
            Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>();

            rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions));
            Mock <ISkuData> data = new Mock <ISkuData>();

            data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Throws(exception);
            ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper);

            try
            {
                await sut.GetTransactionsBySku(CommonFakes.firstSku);

                Assert.IsTrue(false, "No exception thrown. Exception exception was expected.");
            }
            catch (Exception result)
            {
                Assert.AreSame(exception, result);
            }
        }