コード例 #1
0
        public void B_AddUserBy_Web_ReturnsTrue()
        {
            //Arrange
            UsersWebRepository usersRepository = new UsersWebRepository();
            User tempUser = new User();

            //Act
            tempUser.id                  = 9999999;
            tempUser.name                = "Test User";
            tempUser.username            = "******";
            tempUser.email               = "*****@*****.**";
            tempUser.phone               = "0123456789";
            tempUser.website             = "N/A";
            tempUser.address             = new Address();
            tempUser.address.street      = "Sorrel Road";
            tempUser.address.suite       = "103";
            tempUser.address.city        = "Bristol";
            tempUser.address.zipcode     = "BS34 8DS";
            tempUser.address.geo         = new Geo();
            tempUser.address.geo.lat     = "52.024";
            tempUser.address.geo.lng     = "-2.023";
            tempUser.company             = new Company();
            tempUser.company.name        = "N/A";
            tempUser.company.catchPhrase = "N/A";
            tempUser.company.bs          = "N/A";

            usersRepository.Add(tempUser);

            User addedUser = usersRepository.GetAll().Find(user => user.id == tempUser.id);

            //Assert
            Assert.IsTrue(9999999 == tempUser.id);// Change to static number when API returns the users with the added user.
        }
コード例 #2
0
        public void A_GetUsersBy_Web_ReturnsListOfUsers()
        {
            //Arrange
            UsersWebRepository usersRepository = new UsersWebRepository();

            //Act
            List <User> result = usersRepository.GetAll();

            //Assert
            CollectionAssert.Equals(result, new List <User>());
        }
コード例 #3
0
        public void D_DeleteUserBy_Web_ReturnsTrue()
        {
            //Arrange
            UsersWebRepository usersRepository = new UsersWebRepository();

            List <User> users = usersRepository.GetAll();

            //Act
            int index = users.FindIndex(user => user.id == 1);

            User user = users[index];

            usersRepository.Delete(user);

            users = usersRepository.GetAll();

            //Assert
            Assert.IsFalse(users.Contains(user));// Change to isFalse when API returns the users with the updated user.
        }
コード例 #4
0
        public void C_UpdateUserBy_Web_ReturnsTrue()
        {
            //Arrange
            UsersWebRepository usersRepository = new UsersWebRepository();

            List <User> users = usersRepository.GetAll();

            //Act
            int index = users.FindIndex(user => user.id == 1);

            users[index].name = "Test User Updated";

            usersRepository.Update(users[index]);

            users = usersRepository.GetAll();

            //Assert
            Assert.IsFalse(users[index].name == "Test User Updated");// Change to isFalse when API returns the users with the updated user.
        }
コード例 #5
0
        static void Main(string[] args)
        {
            IUsersRepository usersRepository;
            //Storing choice of storage method.
            string storageMethod = "";
            //Recursive check to ensure the menu is visible.
            bool isMenuVisible = true;

            while (storageMethod != "web" && storageMethod != "local")
            {
                Console.Clear();
                Console.WriteLine("User Management System\n");
                Console.WriteLine("This system will allow you to edit users' data either locally or web stored.");
                Console.WriteLine("Please note that changes to the RESTful API will not affect the data.\n");
                Console.WriteLine("Would you like to use 'Web' or 'Local' storage?");
                storageMethod = Console.ReadLine().ToLower();
            }

            if (storageMethod == "web")
            {
                usersRepository = new UsersWebRepository();
            }
            else
            {
                usersRepository = new UsersLocalRespoitory("../data/", "Users", ".json");
            }

            List <User> users = usersRepository.GetAll();

            //This while loop allows the menu to keep displaying till the user selected the 'Exit' option.
            while (isMenuVisible)
            {
                Console.Clear();
                Console.WriteLine("User Management System\n");
                Console.WriteLine("1) View users.");
                Console.WriteLine("2) Insert user.");
                Console.WriteLine("3) Modify user.");
                Console.WriteLine("4) Delete user.");
                Console.WriteLine("5) Exit.\n");

                string userInput = RequestInput("Please select an option: ");
                Console.Clear();

                switch (userInput)
                {
                case "1":
                    ViewUsersUI(users);
                    break;

                case "2":
                    var userAdd = AddUserUI(users);
                    usersRepository.Add(userAdd);
                    users.Add(userAdd);
                    break;

                case "3":
                    var userSelected = SelectUserUI(users);
                    var userModify   = ModifyUserUI(userSelected);
                    usersRepository.Update(userModify);
                    break;

                case "4":
                    var userDelete = DeleteUserUI(SelectUserUI(users));
                    usersRepository.Delete(userDelete);
                    users.Remove(userDelete);
                    break;

                case "5":
                    isMenuVisible = false;
                    break;

                default:
                    Console.Write("Invalid Input. Please press enter to retry...");
                    Console.ReadLine();
                    break;
                }
            }
        }