public void AddBonusOnOpen_GetBalanceOfCard_Passed() { var card = new Card("4790878827491205", "4790878827491205", CardType.VISA, Currency.RUR); blservice.AddBonusOnOpen(card); Assert.Equal(10M, blservice.GetBalanceOfCard(card)); }
public void AddTransactionPassed() { var user = new User("*****@*****.**"); var card = user.OpenNewCard("firstcard", Currency.RUR, CardType.VISA); var transaction = card.AddTransaction(new Transaction(10M, card)); Assert.Equal(2, card.Transactions.Count); Assert.Equal(20M, blservice.GetBalanceOfCard(card)); }
public void AddBonusOnOpen_GetBalanceOfCard_Passed() { var card = new Card { CardName = "4790878827491205", CardNumber = "4790878827491205", CardType = CardType.VISA, Currency = Currency.RUR }; _businessLogicService.AddBonusOnOpen(card); Assert.Equal(10M, _businessLogicService.GetBalanceOfCard(card)); }
public void OpenNewCardPassed() { var user = new User("*****@*****.**"); var card = user.OpenNewCard("firstcard", Currency.RUR, CardType.VISA); var actualCard = user.Cards.First(); Assert.Equal(1, user.Cards.Count); Assert.Equal(CardType.VISA, card.CardType); Assert.Equal(1, card.Transactions.Count); Assert.Equal(1, actualCard.Transactions.Count); Assert.StrictEqual(card, actualCard); Assert.Equal(10M, blservice.GetBalanceOfCard(card)); }
/// <summary> /// Create new transaction with validation /// </summary> /// <param name="sum">Sum of the transaction</param> /// <param name="from">Link card from</param> /// <param name="to">Link card to</param> public Transaction(decimal sum, Card from, Card to) { if (from == null) { throw new BusinessLogicException(TypeBusinessException.TRANSACTION, "From card is null", "Не найдена карта с которой совершается перевод"); } if (to == null) { throw new BusinessLogicException(TypeBusinessException.TRANSACTION, "To card is null", "Не найдена карта на которую совершается перевод"); } if (from.CardNumber == to.CardNumber) { throw new BusinessLogicException(TypeBusinessException.TRANSACTION, "From card and to card is Equal", "Нельзя перевести на туже карту"); } if (sum <= 0) { throw new UserDataException("Transaction need more then 0", $"from {from.CardName} to {to.CardName}"); } if (!blService.CheckCardActivity(from)) { throw new BusinessLogicException(TypeBusinessException.CARD, "Card is expired", $"Карта {from.CardNumber } просрочена"); } if (!blService.CheckCardActivity(to)) { throw new BusinessLogicException(TypeBusinessException.CARD, "Card is expired", $"Карта {to.CardNumber } просрочена"); } if (blService.GetBalanceOfCard(from) < sum) { throw new BusinessLogicException(TypeBusinessException.CARD, "No money", $" Недостаточно средств на карте {from.CardNumber }"); } CardFromNumber = from.CardNumber; CardToNumber = to.CardNumber; FromSum = sum; ToSum = blService.GetConvertSum(sum, from.Currency, to.Currency); }