public void ShouldWriteQueryForRemoveViewOperation()
        {
            var          op            = new RemoveViewOperation(SchemaName, ViewName);
            const string expectedQuery = "drop view [schemaName].[viewName]";

            Assert.AreEqual(expectedQuery, op.ToQuery());
        }
        public void ShouldSetPropertiesForRemoveViewOperation()
        {
            var op = new RemoveViewOperation(SchemaName, ViewName);

            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(ViewName, op.Name);
            Assert.That(op.ObjectName, Is.EqualTo(string.Format("{0}.{1}", SchemaName, ViewName)));
        }
        public void ShouldDisableViewColumnPropertyIfViewRemovedByMerge()
        {
            var op       = new AddExtendedPropertyOperation("schema", "view", "column", "name", "value", true);
            var removeOp = new RemoveViewOperation("SCHEMA", "VIEW");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.False);
        }
        public void ShouldDisableWhenMergedWithRemoveOperation()
        {
            var op       = new AddViewOperation("schema", "name", "definition");
            var removeOp = new RemoveViewOperation("SCHEMA", "NAME");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.True);
        }
        public void ShouldNotDisableOperationWhenItIsForATableAndAViewWithTheSameNameIsRemoved()
        {
            var op           = new AddExtendedPropertyOperation("schema", "table", "name", "value", false);
            var removeViewOp = new RemoveViewOperation("SCHEMA", "TABLE");

            op.Merge(removeViewOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(removeViewOp.Disabled, Is.False);
        }