public void BtnDeleteConfirm_Click_CannotDeleteException()
        {
            //Arrange
            InitilizeTestObjects();

            var errorMessage = "";

            var btnDeleteConfirm = privateObject.GetFieldOrProperty("btnDeleteConfirm") as Button;

            btnDeleteConfirm.CommandArgument = "1";

            ShimUser.IsChannelAdministratorUser = (p1) =>
            {
                return(true);
            };

            ShimCampaignItem.GetByCampaignIDInt32UserBoolean = (p1, p2, p3) =>
            {
                var listCI = new List <CampaignItem>();
                var item   = new CampaignItem
                {
                    CampaignID     = p1,
                    IsDeleted      = false,
                    CampaignItemID = p1
                };

                listCI.Add(item);

                return(listCI);
            };

            ShimCampaignItemBlast.GetByCampaignItemIDInt32UserBoolean = (p1, p2, p3) =>
            {
                var listCIB   = new List <CampaignItemBlast>();
                var blastItem = new CampaignItemBlast
                {
                    CampaignItemID = p1,
                    BlastID        = p1
                };

                var blast = new BlastAB();
                blastItem.Blast = blast;

                listCIB.Add(blastItem);

                return(listCIB);
            };

            ShimManageCampaigns.AllInstances.throwECNExceptionString = (p1, p2) =>
            {
                errorMessage = p2;
            };

            // Act
            privateObject.Invoke("btnDeleteConfirm_Click", new object[] { null, EventArgs.Empty });

            //Assert
            errorMessage.ShouldBe("Cannot delete Campaign because it contains Campaign Items");
        }
        public void GvCampaigns_RowCommand_Delete_CannotDeleteException()
        {
            //Arrange
            InitilizeTestObjects();

            var eventArgs    = new GridViewCommandEventArgs(null, new CommandEventArgs("deletecampaign", "1"));
            var errorMessage = "";

            ShimUser.IsChannelAdministratorUser = (p1) =>
            {
                return(true);
            };

            ShimCampaignItem.GetByCampaignIDInt32UserBoolean = (p1, p2, p3) =>
            {
                var listCI = new List <CampaignItem>();
                var item   = new CampaignItem
                {
                    CampaignID     = p1,
                    IsDeleted      = false,
                    CampaignItemID = p1
                };

                listCI.Add(item);

                return(listCI);
            };

            ShimCampaignItemBlast.GetByCampaignItemIDInt32UserBoolean = (p1, p2, p3) =>
            {
                var listCIB   = new List <CampaignItemBlast>();
                var blastItem = new CampaignItemBlast
                {
                    CampaignItemID = p1,
                    BlastID        = p1
                };

                var blast = new BlastAB();
                blastItem.Blast = blast;

                listCIB.Add(blastItem);

                return(listCIB);
            };

            ShimManageCampaigns.AllInstances.throwECNExceptionString = (p1, p2) =>
            {
                errorMessage = p2;
            };

            // Act
            privateObject.Invoke("gvCampaigns_RowCommand", new object[] { null, eventArgs });

            //Assert
            errorMessage.ShouldBe("Cannot delete Campaign because it contains Campaign Items");
        }