This is a class that contains various tests to ensure that your bundles are correctly formed and they are up to date.
        public void TestCheckBundleFileIsNotNewerThanMinifiedFilesMvcAppOk()
        {
            //SETUP
            var checker = new CheckBundles(typeof(BowerBundlerHelper));

            //ATTEMPT
            var error = checker.CheckBundleFileIsNotNewerThanMinifiedFiles();

            //VERIFY
            Assert.IsNull(error, error);
        }
        public void TestCheckAllBundlesAreUpToDateInMvcAppOk()
        {
            //SETUP
            var checker = new CheckBundles(typeof(BowerBundlerHelper));

            //ATTEMPT
            var errors = checker.CheckAllBundlesAreValid();

            //VERIFY
            Assert.IsFalse(errors.Any(), string.Join("\n", errors));
        }
        public void TestCheckSingleBundleIsValidBadCndContainsMixOk()
        {
            //SETUP
            var checker = new CheckBundles(TestFileHelpers.GetTestDataFileDirectory(), B4BSetupHelper.GetDirRelToTestDirectory("BadBowerBundlesFormat\\"));

            //ATTEMPT
            var errors = checker.CheckSingleBundleIsValid("BadCndContainsMix");

            //VERIFY
            errors.Count.ShouldEqual(1);
            errors.First().ShouldEqual("The Bundle called BadCndContainsMix contained both cdn and non cdn entries, which is not supported.");
        }
        public void TestCheckSingleBundleIsValidBadCndBadCndCssNotSupportedOk()
        {
            //SETUP
            var checker = new CheckBundles(TestFileHelpers.GetTestDataFileDirectory(), B4BSetupHelper.GetDirRelToTestDirectory("BadBowerBundlesFormat\\"));

            //ATTEMPT
            var errors = checker.CheckSingleBundleIsValid("BadCndCssNotSupported");

            //VERIFY
            errors.Count.ShouldEqual(1);
            errors.First().ShouldEqual("This configuration of BundlerForBower does not support CDN bundles for .css files. Bad bundle is BadCndCssNotSupported.");
        }
        public void TestCheckSingleBundleIsValidBadCndContaintsSearchTestOk()
        {
            //SETUP
            var checker = new CheckBundles(TestFileHelpers.GetTestDataFileDirectory(), B4BSetupHelper.GetDirRelToTestDirectory("BadBowerBundlesFormat\\"));

            //ATTEMPT
            var errors = checker.CheckSingleBundleIsValid("BadCndContaintsSearchTest");

            //VERIFY
            errors.Count.ShouldEqual(2);
            errors.First().ShouldEqual("The following files had 'development' with search strings in the bundles called 'BadCndContaintsSearchTest':\n - lib/jquery/dist/*jquery.js");
            errors.Last().ShouldEqual("The following files had 'production' with search strings in the bundles called 'BadCndContaintsSearchTest':\n - lib/jquery/dist/*jquery.js");
        }
        public void TestCheckSingleBundleIsValidBadCndCdnBadFormatOk()
        {
            //SETUP
            var checker = new CheckBundles(TestFileHelpers.GetTestDataFileDirectory(), B4BSetupHelper.GetDirRelToTestDirectory("BadBowerBundlesFormat\\"));

            //ATTEMPT
            var errors = checker.CheckSingleBundleIsValid("CdnBadFormat");

            //VERIFY
            errors.Count.ShouldEqual(2);
            errors.First().ShouldEqual("The CDN bundle CdnBadFormat, array element 0, contained an invalid type Integer");
            errors.Last().ShouldEqual("The CDN bundle CdnBadFormat, array element 1, contained an invalid type Boolean");
        }
        public void TestCheckSingleBundleIsValidBadCndMissingCdnSuccessTestOk()
        {
            //SETUP
            var checker = new CheckBundles(TestFileHelpers.GetTestDataFileDirectory(), B4BSetupHelper.GetDirRelToTestDirectory("BadBowerBundlesFormat\\"));

            //ATTEMPT
            var errors = checker.CheckSingleBundleIsValid("BadCndMissingCdnSuccessTest");

            //VERIFY
            errors.Count.ShouldEqual(1);
            errors.First().ShouldEqual("In the bundle called BadCndMissingCdnSuccessTest, array element 0, the following properties were missing: cdnSuccessTest");
        }
        public void TestCheckSingleBundleIsValidMissingDevProdOk()
        {
            //SETUP
            var checker = new CheckBundles(TestFileHelpers.GetTestDataFileDirectory(), B4BSetupHelper.GetDirRelToTestDirectory("BadBowerBundlesFormat\\"));

            //ATTEMPT
            var errors = checker.CheckSingleBundleIsValid("BadCndMissingDev");

            //VERIFY
            errors.Count.ShouldEqual(1);
            errors.First().ShouldEqual("The CDN bundle BadCndMissingDev, array element 0, is missing a property called 'development'.");
        }