public void GetScriptModifiers_ArgumentNullException_Configuration() { // Arrange var smfMock = new Mock <IScriptModifierFactory>(); IScriptModifierProviderService service = new ScriptModifierProviderService(smfMock.Object); // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => service.GetScriptModifiers(null)); }
public void GetScriptModifiers_AllModifiers() { // Arrange var sm1 = Mock.Of <IScriptModifier>(); var sm2 = Mock.Of <IScriptModifier>(); var sm3 = Mock.Of <IScriptModifier>(); var sm4 = Mock.Of <IScriptModifier>(); var sm5 = Mock.Of <IScriptModifier>(); var sm6 = Mock.Of <IScriptModifier>(); var smfMock = new Mock <IScriptModifierFactory>(); smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.CommentOutUnnamedDefaultConstraintDrops)).Returns(sm1); smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.ReplaceUnnamedDefaultConstraintDrops)).Returns(sm2); smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.AddCustomHeader)).Returns(sm3); smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.AddCustomFooter)).Returns(sm4); smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.TrackDacpacVersion)).Returns(sm5); smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.RemoveSqlCmdStatements)).Returns(sm6); IScriptModifierProviderService service = new ScriptModifierProviderService(smfMock.Object); var config = new ConfigurationModel { CommentOutUnnamedDefaultConstraintDrops = true, ReplaceUnnamedDefaultConstraintDrops = true, CustomHeader = "foo", CustomFooter = "bar", TrackDacpacVersion = true, RemoveSqlCmdStatements = true }; // Act var modifiers = service.GetScriptModifiers(config); // Assert Assert.IsNotNull(modifiers); Assert.AreEqual(6, modifiers.Count); smfMock.Verify(m => m.CreateScriptModifier(It.IsAny <ScriptModifier>()), Times.Exactly(6)); Assert.AreSame(modifiers[ScriptModifier.CommentOutUnnamedDefaultConstraintDrops], sm1); Assert.AreSame(modifiers[ScriptModifier.ReplaceUnnamedDefaultConstraintDrops], sm2); Assert.AreSame(modifiers[ScriptModifier.AddCustomHeader], sm3); Assert.AreSame(modifiers[ScriptModifier.AddCustomFooter], sm4); Assert.AreSame(modifiers[ScriptModifier.TrackDacpacVersion], sm5); Assert.AreSame(modifiers[ScriptModifier.RemoveSqlCmdStatements], sm6); }
public void GetScriptModifiers_NoModifiers() { // Arrange var smfMock = new Mock <IScriptModifierFactory>(); IScriptModifierProviderService service = new ScriptModifierProviderService(smfMock.Object); var config = new ConfigurationModel { CommentOutUnnamedDefaultConstraintDrops = false, ReplaceUnnamedDefaultConstraintDrops = false, CustomHeader = null, CustomFooter = null, TrackDacpacVersion = false }; // Act var modifiers = service.GetScriptModifiers(config); // Assert Assert.IsNotNull(modifiers); Assert.AreEqual(0, modifiers.Count); smfMock.Verify(m => m.CreateScriptModifier(It.IsAny <ScriptModifier>()), Times.Never); }