public void UploadFilename_ThrowsForBadInput()
        {
            Assert.Throws <ArgumentNullException>(() => UploadToWebonaryController.UploadFilename(null, null));
            var view  = SetUpView();
            var model = view.Model;

            model.SiteName = null;
            Assert.Throws <ArgumentException>(() => UploadToWebonaryController.UploadFilename(model, view));
            model.SiteName = "";
            Assert.Throws <ArgumentException>(() => UploadToWebonaryController.UploadFilename(model, view));
        }
        public void UploadFilename_UsesSiteName()
        {
            var view  = SetUpView();
            var model = view.Model;

            model.SiteName = "mySiteName";
            var expectedFilename = "mySiteName.zip";
            var actualFilename   = UploadToWebonaryController.UploadFilename(model, view);

            Assert.That(actualFilename, Is.EqualTo(expectedFilename), "Incorrect filename for webonary export.");
        }
        public void UploadFilename_FailsForInvalidCharactersInSitename(string sitename)
        {
            var view  = SetUpView();
            var model = view.Model;

            model.SiteName = sitename;

            // SUT
            var result = UploadToWebonaryController.UploadFilename(model, view);

            Assert.That(result, Is.Null, "Fail on invalid characters.");
            Assert.That(view.StatusStrings.Any(s => s.Contains("Invalid characters found in sitename")), "Inform that there was a problem");
        }