/// <summary>
        /// This action method handles the request to upload the file to Google Drive
        /// </summary>
        /// <param name="file">The file picked by the user</param>
        /// <returns>A message, describing the output of the Upload</returns>
        public ActionResult UploadFile(HttpPostedFileBase file)
        {
            //check if user picks a file
            if (file != null && file.ContentLength > 0)
            {
                try
                {
                    //try uploading the file to Google Drive and return appropriate message
                    GoogleApiDriveRepository.UploadFile(file);
                }
                catch (Exception)
                {
                    //upload failed, return failure message
                    return(RedirectToAction("Index", new { status = "failure" }));
                }

                //upload successful, return success message
                return(RedirectToAction("Index", new { status = "success" }));
            }
            else
            {
                //user doesn't pick a file, return nofile message
                return(RedirectToAction("Index", new { status = "nofile" }));
            }
        }
        public void CreateServiceTest()
        {
            // Arrange

            // Act
            var actual = GoogleApiDriveRepository.CreateService();

            // Assert
            Assert.NotNull(actual);
        }
        public void GetUserCredentialTest()
        {
            // Arrange

            // Act
            var actual = GoogleApiDriveRepository.GetUserCredential();

            // Assert
            Assert.NotNull(actual);
        }
        public void UploadFileTest()
        {
            // Arrange

            // Arrange
            Mock <HttpPostedFileBase> uploadedFile = new Mock <HttpPostedFileBase>();

            uploadedFile.Setup(x => x.FileName).Returns("imagefile.jpg");

            // Act
            var actual = GoogleApiDriveRepository.UploadFile(uploadedFile.Object);

            // Arrange
            Assert.NotNull(actual);
        }