public void LoadedCommand_Executed_OnlyDatabaseDefinitions_ExtendedSortOrder() { // Arrange var vsa = Mock.Of <IVisualStudioAccess>(); var vm = new PickServerDatabaseViewModel(vsa); var dbDefinition1 = new DatabaseDefinitionModel { FilePath = "TestExampleDatabaseA.sqlproj" }; var dbDefinition2 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseB.sqlproj" }; var dbDefinition3 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseCtest.sqlproj" }; vm.DatabaseDefinitions.Add(dbDefinition1); vm.DatabaseDefinitions.Add(dbDefinition2); vm.DatabaseDefinitions.Add(dbDefinition3); // Act vm.LoadedCommand.Execute(null); // Assert Assert.IsNull(vm.SelectedDatabaseConnection); Assert.AreSame(dbDefinition2, vm.SelectedDatabaseDefinition); }
public void OkCommand_Executed_CloseRequestedToView_DatabaseDefinition() { // Arrange var dbDefinition = new DatabaseDefinitionModel(); var closeRequested = false; bool?dialogResult = null; var vsa = Mock.Of <IVisualStudioAccess>(); var vm = new PickServerDatabaseViewModel(vsa) { SelectedDatabaseDefinition = dbDefinition }; vm.CloseRequested += (sender, args) => { closeRequested = true; dialogResult = args.DialogResult; }; // Act vm.OkCommand.Execute(null); // Assert Assert.IsTrue(closeRequested); Assert.IsTrue(dialogResult); Assert.AreSame(dbDefinition, vm.SelectedDatabaseDefinition); Assert.IsNull(vm.SelectedDatabaseConnection); }
public void LoadedCommand_Executed_OnlyDatabaseDefinitions_ExtendedSortOrder() { // Arrange var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var connFactory = Mock.Of <Func <IPickConnectionDialog> >(); var creds = Mock.Of <ICredentialStore>(); var vm = new PickServerDatabaseViewModel(vsa, creds, psdFactory, connFactory); var dbDefinition1 = new DatabaseDefinitionModel { FilePath = "TestExampleDatabaseA.sqlproj" }; var dbDefinition2 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseB.sqlproj" }; var dbDefinition3 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseCtest.sqlproj" }; vm.DatabaseDefinitions.Add(dbDefinition1); vm.DatabaseDefinitions.Add(dbDefinition2); vm.DatabaseDefinitions.Add(dbDefinition3); // Act vm.LoadedCommand.Execute(null); // Assert Assert.IsNull(vm.SelectedDatabaseConnection); Assert.AreSame(dbDefinition2, vm.SelectedDatabaseDefinition); }
public void CancelCommand_Executed_DatabaseDefinition() { // Arrange var dbDefinition = new DatabaseDefinitionModel(); var closeRequested = false; bool?dialogResult = null; var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var vm = new PickServerDatabaseViewModel(vsa, psdFactory) { SelectedDatabaseDefinition = dbDefinition }; vm.CloseRequested += (sender, args) => { closeRequested = true; dialogResult = args.DialogResult; }; // Act vm.CancelCommand.Execute(null); // Assert Assert.IsTrue(closeRequested); Assert.IsFalse(dialogResult); Assert.IsNull(vm.SelectedDatabaseConnection); Assert.IsNull(vm.SelectedDatabaseDefinition); }
public void LoadedCommand_Executed_DatabaseConnectionsAndDefinitions() { // Arrange var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var connFactory = Mock.Of <Func <IPickConnectionDialog> >(); var creds = Mock.Of <ICredentialStore>(); var vm = new PickServerDatabaseViewModel(vsa, creds, psdFactory, connFactory); var dbConnection1 = new DatabaseConnectionModel(); var dbConnection2 = new DatabaseConnectionModel(); var dbDefinition1 = new DatabaseDefinitionModel(); var dbDefinition2 = new DatabaseDefinitionModel(); vm.DatabaseConnections.Add(dbConnection1); vm.DatabaseConnections.Add(dbConnection2); vm.DatabaseDefinitions.Add(dbDefinition1); vm.DatabaseDefinitions.Add(dbDefinition2); // Act vm.LoadedCommand.Execute(null); // Assert Assert.AreSame(dbConnection1, vm.SelectedDatabaseConnection); Assert.IsNull(vm.SelectedDatabaseDefinition); }
public void LoadedCommand_Executed_OnlyDatabaseDefinitions_WithOtherFiles() { // Arrange var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var vm = new PickServerDatabaseViewModel(vsa, psdFactory); var dbDefinition1 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseA.dacpac" }; var dbDefinition2 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseB.sqlproj" }; var dbDefinition3 = new DatabaseDefinitionModel { FilePath = "ExampleDatabaseC.txt" }; vm.DatabaseDefinitions.Add(dbDefinition1); vm.DatabaseDefinitions.Add(dbDefinition2); vm.DatabaseDefinitions.Add(dbDefinition3); // Act vm.LoadedCommand.Execute(null); // Assert Assert.IsNull(vm.SelectedDatabaseConnection); Assert.AreSame(dbDefinition2, vm.SelectedDatabaseDefinition); }
public void PropertyChanged_NotInvokedForEqualValues() { // Arrange var invokes = 0; var ddm = new DatabaseDefinitionModel(); ddm.PropertyChanged += (sender, args) => invokes++; // Act ddm.FilePath = null; // Assert Assert.AreEqual(0, invokes); Assert.IsNull(ddm.FilePath); }
public void OkCommand_CanExecute_DefinitionSelected() { // Arrange var dbDefinition = new DatabaseDefinitionModel(); var vsa = Mock.Of <IVisualStudioAccess>(); var vm = new PickServerDatabaseViewModel(vsa) { SelectedDatabaseDefinition = dbDefinition }; // Act var canExecute = vm.OkCommand.CanExecute(null); // Assert Assert.IsTrue(canExecute); }
public void PropertyChanged_InvokedForDifferentValues() { // Arrange var invokes = 0; var ddm = new DatabaseDefinitionModel(); ddm.PropertyChanged += (sender, args) => invokes++; const string filePath = @"C:\Temp\Test\Database.dacpac"; // Act ddm.FilePath = filePath; // Assert Assert.AreEqual(1, invokes); Assert.AreEqual(filePath, ddm.FilePath); }
public void PropertyChangedOnDatabaseDefinitionsChanged() { // Arrange string propertyChangedName = null; var dbDefinition = new DatabaseDefinitionModel(); var vsa = Mock.Of <IVisualStudioAccess>(); var vm = new PickServerDatabaseViewModel(vsa); vm.PropertyChanged += (sender, args) => propertyChangedName = args.PropertyName; // Act vm.DatabaseDefinitions.Add(dbDefinition); // Assert Assert.IsNotNull(propertyChangedName); Assert.AreEqual(nameof(IPickServerDatabaseViewModel.DatabaseDefinitions), propertyChangedName); }
public void OkCommand_CanExecute_DefinitionSelected() { // Arrange var dbDefinition = new DatabaseDefinitionModel(); var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var connFactory = Mock.Of <Func <IPickConnectionDialog> >(); var vm = new PickServerDatabaseViewModel(vsa, psdFactory, connFactory) { SelectedDatabaseDefinition = dbDefinition }; // Act var canExecute = vm.OkCommand.CanExecute(null); // Assert Assert.IsTrue(canExecute); }
public void AddDatabaseDefinitionCommand_Executed_NewDefinitionReturned() { // Arrange var dbDefinition = new DatabaseDefinitionModel(); var vsaMock = new Mock <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); vsaMock.Setup(m => m.PromptForNewDatabaseDefinition()).Returns(dbDefinition); var vm = new PickServerDatabaseViewModel(vsaMock.Object, psdFactory); // Act vm.AddDatabaseDefinitionCommand.Execute(null); // Assert CollectionAssert.Contains(vm.DatabaseDefinitions, dbDefinition); Assert.AreSame(dbDefinition, vm.SelectedDatabaseDefinition); vsaMock.Verify(m => m.PromptForNewDatabaseDefinition(), Times.Once); }
public void Selection_OnlyConnectionOrDefinitionSelected_DatabaseDefinition() { // Arrange var dbConnection = new DatabaseConnectionModel(); var dbDefinition = new DatabaseDefinitionModel(); var vsa = Mock.Of <IVisualStudioAccess>(); // ReSharper disable once UseObjectOrCollectionInitializer var vm = new PickServerDatabaseViewModel(vsa) { SelectedDatabaseConnection = dbConnection }; // Act vm.SelectedDatabaseDefinition = dbDefinition; // Assert Assert.IsNull(vm.SelectedDatabaseConnection); Assert.AreSame(dbDefinition, vm.SelectedDatabaseDefinition); }
public void LoadedCommand_Executed_OnlyDatabaseDefinitions_FilePathNull() { // Arrange var vsa = Mock.Of <IVisualStudioAccess>(); var vm = new PickServerDatabaseViewModel(vsa); var dbDefinition = new DatabaseDefinitionModel { FilePath = null }; vm.DatabaseDefinitions.Add(dbDefinition); // Act vm.LoadedCommand.Execute(null); // Assert Assert.IsNull(vm.SelectedDatabaseConnection); Assert.IsNull(vm.SelectedDatabaseDefinition); }
public void PropertyChangedOnDatabaseDefinitionsChanged() { // Arrange string propertyChangedName = null; var dbDefinition = new DatabaseDefinitionModel(); var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var connFactory = Mock.Of <Func <IPickConnectionDialog> >(); var creds = Mock.Of <ICredentialStore>(); var vm = new PickServerDatabaseViewModel(vsa, creds, psdFactory, connFactory); vm.PropertyChanged += (sender, args) => propertyChangedName = args.PropertyName; // Act vm.DatabaseDefinitions.Add(dbDefinition); // Assert Assert.IsNotNull(propertyChangedName); Assert.AreEqual(nameof(IPickServerDatabaseViewModel.DatabaseDefinitions), propertyChangedName); }
public void Selection_OnlyConnectionOrDefinitionSelected_DatabaseDefinition() { // Arrange var dbConnection = new DatabaseConnectionModel(); var dbDefinition = new DatabaseDefinitionModel(); var vsa = Mock.Of <IVisualStudioAccess>(); var psdFactory = Mock.Of <Func <IPickSchemasDialog> >(); var connFactory = Mock.Of <Func <IPickConnectionDialog> >(); var creds = Mock.Of <ICredentialStore>(); var vm = new PickServerDatabaseViewModel(vsa, creds, psdFactory, connFactory) { SelectedDatabaseConnection = dbConnection, }; // Act vm.SelectedDatabaseDefinition = dbDefinition; // Assert Assert.IsNull(vm.SelectedDatabaseConnection); Assert.AreSame(dbDefinition, vm.SelectedDatabaseDefinition); }
public void LoadedCommand_Executed_DatabaseConnectionsAndDefinitions() { // Arrange var vsa = Mock.Of <IVisualStudioAccess>(); var vm = new PickServerDatabaseViewModel(vsa); var dbConnection1 = new DatabaseConnectionModel(); var dbConnection2 = new DatabaseConnectionModel(); var dbDefinition1 = new DatabaseDefinitionModel(); var dbDefinition2 = new DatabaseDefinitionModel(); vm.DatabaseConnections.Add(dbConnection1); vm.DatabaseConnections.Add(dbConnection2); vm.DatabaseDefinitions.Add(dbDefinition1); vm.DatabaseDefinitions.Add(dbDefinition2); // Act vm.LoadedCommand.Execute(null); // Assert Assert.AreSame(dbConnection1, vm.SelectedDatabaseConnection); Assert.IsNull(vm.SelectedDatabaseDefinition); }