예제 #1
0
        public void AddTransactionTest()
        {
            var clientServiceMock         = Substitute.For <IClientService>();
            var sharesServiceMock         = Substitute.For <ISharesService>();
            var portfolioServiceMock      = Substitute.For <IPortfoliosService>();
            var transactionRepositoryMock = Substitute.For <ITransactionsRepository>();

            var sut = new TransactionsService(
                clientServiceMock,
                sharesServiceMock,
                portfolioServiceMock,
                transactionRepositoryMock);

            var transaction = new Transaction
            {
                SellerID       = 3,
                BuyerID        = 5,
                ShareID        = 9,
                AmountOfShares = 1
            };

            // Act
            sut.AddTransaction(transaction);

            // Asserts
            transactionRepositoryMock.Received(1).Insert(Arg.Is <Transaction>(transaction));
        }
예제 #2
0
        public bool Trading()
        {
            int sharesForTrade = random.Next(1, 20);

            Transaction transaction = new Transaction
            {
                BuyerID        = random.Next(1, clientService.GetAllClients().Count()),
                SellerID       = random.Next(1, clientService.GetAllClients().Count()),
                ShareID        = random.Next(1, sharesService.GetAllShares().Count()),
                AmountOfShares = sharesForTrade,
                Date           = DateTime.Now,
            };

            if (validationService.ValidateTransaction(transaction, logger))
            {
                transactionsService.SellOrBuyShares(transaction);
                transactionsService.AddTransaction(transaction);
                return(true);
            }
            return(false);
        }
        public void ReturnUpdatedTransactions_WhenAddTransaction()
        {
            var expectedResult = new List <Transaction>()
            {
                new Transaction()
                {
                    Id                     = 1,
                    Sum                    = -10,
                    Description            = "McDonalds",
                    DateTime               = "2018-04-28",
                    AccountToIncreaseName  = "Cafe",
                    AccountToSubstractName = "Salary"
                },
                new Transaction()
                {
                    Id                     = 2,
                    Sum                    = -20,
                    Description            = "Mumu",
                    DateTime               = "2018-05-01",
                    AccountToIncreaseName  = "Cafe",
                    AccountToSubstractName = "Debit card"
                }
            };

            var newTransaction = new Transaction()
            {
                Sum                    = -20,
                Description            = "Mumu",
                DateTime               = "2018-05-01",
                AccountToIncreaseName  = "Cafe",
                AccountToSubstractName = "Debit card"
            };

            transactionsService.AddTransaction(newTransaction);

            var actualResult = transactionsService.GetTransactions();

            actualResult.Should().BeEquivalentTo(expectedResult);
        }