public void When_Update_Is_Called_After_Inserting_InValid_Data_It_Should_Throw_Exception(string newName,
                                                                                                 string newAddress, string updatedName, string updatedAddress)
        {
            var userDbOperation = new UserDbOperations();
            var user            = new User()
            {
                Name = newName, Address = newAddress
            };
            var id = userDbOperation.Create(user);

            user.Name    = updatedName;
            user.Address = updatedAddress;
            user.Id      = id;

            Assert.Throws <SqlException>(() => userDbOperation.Update(user));
        }
        public void When_Update_Is_Called_After_Setting_Data_Having_Exceeded_Length_It_Should_Throw_A_SqlException(string newName,
                                                                                                                   string newAddress, string updatedName, string updatedAddress)
        {
            var userDbOperation = new UserDbOperations();
            var user            = new User()
            {
                Name = newName, Address = newAddress
            };

            var id = userDbOperation.Create(user);

            user.Name    = updatedName;
            user.Address = updatedAddress;
            user.Id      = id;

            Assert.Throws <SqlException>(() => userDbOperation.Update(user));

            using (var conn = new SqlConnection(UserDbOperations.ConnectionString))
            {
                conn.Execute($"DELETE FROM Users WHERE Id={id}");
            }
        }
        public void When_Update_Is_Called_After_Inserting_Valid_Data_It_Should_Update()
        {
            var userDbOperation = new UserDbOperations();
            var user            = new User()
            {
                Name = "Rakesh", Address = "Bangalore"
            };
            var id = userDbOperation.Create(user);

            user.Name    = "Vijaya";
            user.Address = "Mumbai";
            user.Id      = id;


            userDbOperation.Update(user);

            using (var conn = new SqlConnection(UserDbOperations.ConnectionString))
            {
                var createdUser = conn.Query <User>($"SELECT * FROM Users WHERE Id={id}").FirstOrDefault();

                Assert.AreEqual(createdUser.Name, user.Name);
                Assert.AreEqual(createdUser.Address, user.Address);
            }
        }