public void ShouldNotRegisterTraderIfExists()
        {
            // Arrange
            TraderService tradersService = new TraderService(this.repository);
            TraderInfo info = new TraderInfo
            {
                FirstName = "Vasiliy",
                LastName = "Vasiliev",
                PhoneNumber = "1234557",
                Balance = -100
            };

            // Act
            tradersService.RegisterNewUser(info);

            this.repository.Contains(Arg.Is<TraderEntity>(
                t => t.FirstName == info.FirstName
                && t.LastName == info.LastName
                && t.PhoneNumber == info.PhoneNumber
                && t.Balance == info.Balance)).Returns(true);

            tradersService.RegisterNewUser(info);
        }
        public void ShouldNotRegisterNewTraderWithEmptySurname()
        {
            // Arrange
            TraderService tradersService = new TraderService(this.repository);
            TraderInfo info = new TraderInfo
            {
                FirstName = "Artem",
                LastName = string.Empty,
                PhoneNumber = "79998887766",
                Balance = 100
            };

            // Act
            tradersService.RegisterNewUser(info);
        }
        public void ShouldNotRegisterNewTraderWithIncorrectPhoneNumber()
        {
            // Arrange
            TraderService tradersService = new TraderService(this.repository);
            TraderInfo info = new TraderInfo
            {
                FirstName = "Artem",
                LastName = "Lozhechkin",
                PhoneNumber = "999asd9213",
                Balance = 100
            };

            // Act
            tradersService.RegisterNewUser(info);
        }
        public void ShouldRegisterNewTrader()
        {
            // Arrange
            TraderService tradersService = new TraderService(this.repository);
            TraderInfo info = new TraderInfo
            {
                FirstName = "Artem",
                LastName = "Lozhechkin",
                PhoneNumber = "79998887766",
                Balance = 100
            };

            // Act
            tradersService.RegisterNewUser(info);

            // Assert
            this.repository.Received(1).Add(Arg.Is<TraderEntity>
                    (w => w.FirstName == info.FirstName
                    && w.LastName == info.LastName
                    && w.PhoneNumber == info.PhoneNumber
                    && w.Balance == info.Balance));
            this.repository.Received(1).SaveChanges();
        }
Esempio n. 5
0
        private void RegisterNewTrader()
        {
            Console.Clear();
            Console.WriteLine("Добавление пользователя");
            Console.WriteLine("Чтобы добавить пользователя в систему вам необходимо ввести его имя, фамилию, номер телефона и стартовый баланс.");
            Console.WriteLine("Чтобы вернуться в меню введите menu на любом из этапов заполнения");
            string firstName = string.Empty;

            do
            {
                Console.Write("Введите имя пользователя: ");
                firstName = Console.ReadLine();
                if (firstName.ToLower() == "menu")
                {
                    return;
                }
            } while (!firstName.All(char.IsLetter) && firstName != string.Empty);
            string lastName = string.Empty;

            do
            {
                Console.Write("Введите фамилию пользователя: ");
                lastName = Console.ReadLine();
                if (lastName.ToLower() == "menu")
                {
                    return;
                }
            } while (!lastName.All(char.IsLetter) && lastName != string.Empty);

            string phoneNumber = string.Empty;

            do
            {
                Console.Write("Введите номер телефона пользователя (без разделительных знаков): ");
                phoneNumber = Console.ReadLine();
                if (phoneNumber.ToLower() == "menu")
                {
                    return;
                }
            } while (!phoneNumber.All(char.IsDigit) && phoneNumber != string.Empty);

            decimal balance;
            string  balanceInput;

            do
            {
                Console.Write("Введите баланс пользователя: ");
                balanceInput = Console.ReadLine();
                if (balanceInput.ToLower() == "menu")
                {
                    return;
                }
            } while (!decimal.TryParse(balanceInput, out balance));

            try
            {
                traderService.RegisterNewUser(
                    new TraderInfo()
                {
                    FirstName = firstName, LastName = lastName, PhoneNumber = phoneNumber, Balance = balance
                });

                Console.WriteLine("Пользователь добавлен!");
            } catch (Exception ex)
            {
                Logger.ConsoleLogger.Error(ex.Message);
            }
            Console.WriteLine("Нажмите любую клавишу, чтобы вернуться в меню...");
            Console.ReadKey();
        }