Exemplo n.º 1
0
        public async Task SelectTargetType()
        {
            var settings = new SqlSProcPublishSettings(_storage);

            var model = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            await model.SelectTargetTypeAsync(1);

            model.Settings.TargetType.Should().Be(PublishTargetType.Database);
            model.TargetHasName.Should().BeTrue();

            await model.SelectTargetTypeAsync(2);

            model.Settings.TargetType.Should().Be(PublishTargetType.Project);
            model.TargetHasName.Should().BeTrue();

            await model.SelectTargetTypeAsync(3);

            model.Settings.TargetType.Should().Be(PublishTargetType.File);
            model.TargetHasName.Should().BeFalse();

            await model.SelectTargetTypeAsync(0);

            model.Settings.TargetType.Should().Be(PublishTargetType.Dacpac);
            model.TargetHasName.Should().BeFalse();
        }
Exemplo n.º 2
0
        public async Task NoDbProjectList()
        {
            _storage.GetSetting(SqlSProcPublishSettings.TargetTypeSettingName, PublishTargetType.Dacpac).Returns(PublishTargetType.Project);

            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.Settings.TargetType.Should().Be(PublishTargetType.Project);
            model.Targets.Should().HaveCount(1);
            model.Targets[0].Should().Be(Resources.SqlPublishDialog_NoDatabaseProjects);
        }
Exemplo n.º 3
0
        public async Task SelectQuoteType()
        {
            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.SelectQuoteType(1);
            model.Settings.QuoteType.Should().Be(SqlQuoteType.Bracket);
            model.SelectQuoteType(2);
            model.Settings.QuoteType.Should().Be(SqlQuoteType.Quote);
            model.SelectQuoteType(0);
            model.Settings.QuoteType.Should().Be(SqlQuoteType.None);
        }
Exemplo n.º 4
0
        public async Task SelectCodePlacement()
        {
            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.SelectCodePlacement(1);
            model.Settings.CodePlacement.Should().Be(RCodePlacement.Table);
            model.GenerateTable.Should().BeTrue();

            model.SelectCodePlacement(0);
            model.Settings.CodePlacement.Should().Be(RCodePlacement.Inline);
            model.GenerateTable.Should().BeFalse();
        }
Exemplo n.º 5
0
        public async Task NoDbConnections()
        {
            ConfigureSettingAccessMock(Enumerable.Empty <IConfigurationSetting>());

            _storage.GetSetting(SqlSProcPublishSettings.TargetTypeSettingName, PublishTargetType.Dacpac).Returns(PublishTargetType.Database);

            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.Settings.TargetType.Should().Be(PublishTargetType.Database);
            model.Targets.Should().HaveCount(1);
            model.Targets[0].Should().Be(Resources.SqlPublishDialog_NoDatabaseConnections);
        }
Exemplo n.º 6
0
        public async Task DbConnectionsList()
        {
            var s1 = Substitute.For <IConfigurationSetting>();

            s1.Name.Returns("dbConn1");
            s1.Value.Returns("dbConn1_String");
            s1.EditorType.Returns(ConnectionStringEditor.ConnectionStringEditorName);

            var s2 = Substitute.For <IConfigurationSetting>();

            s2.Name.Returns("dbConn2");
            s2.Value.Returns("dbConn2_String");
            s2.EditorType.Returns(ConnectionStringEditor.ConnectionStringEditorName);

            var s3 = Substitute.For <IConfigurationSetting>();

            s3.Name.Returns("dbConn3");
            s3.Value.Returns("dbConn3_String");
            s3.EditorType.Returns(ConnectionStringEditor.ConnectionStringEditorName);

            var s4 = Substitute.For <IConfigurationSetting>();

            s4.Name.Returns("dbConn4");
            s4.Value.Returns("dbConn4_String");

            ConfigureSettingAccessMock(new IConfigurationSetting[] { s1, s4, s2, s3 });

            _storage.GetSetting(SqlSProcPublishSettings.TargetTypeSettingName, PublishTargetType.Dacpac).Returns(PublishTargetType.Database);
            _storage.GetSetting(SqlSProcPublishSettings.TargetDatabaseConnectionSettingName, Arg.Any <string>()).Returns(("dbConn2_String"));

            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.Settings.TargetType.Should().Be(PublishTargetType.Database);
            model.Settings.TargetDatabaseConnection.Should().Be("dbConn2_String");

            model.Targets.Should().HaveCount(3);
            model.Targets[0].Should().Be("dbConn1");
            model.Targets[1].Should().Be("dbConn2");
            model.Targets[2].Should().Be("dbConn3");
            model.SelectedTargetIndex.Should().Be(1);
        }
Exemplo n.º 7
0
        public async Task Constructor()
        {
            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.TargetTypeNames.Should().HaveCount(3);
            model.SelectedTargetTypeIndex.Should().Be(0);

            model.QuoteTypeNames.Should().HaveCount(3);
            model.SelectedQuoteTypeIndex.Should().Be(0);

            model.CodePlacementNames.Should().HaveCount(2);
            model.SelectedCodePlacementIndex.Should().Be(0);

            model.Targets.Should().BeEmpty();
            model.TargetHasName.Should().BeFalse();
            model.GenerateTable.Should().BeFalse();

            model.Settings.Should().NotBeNull();
            model.Settings.CodePlacement.Should().Be(RCodePlacement.Inline);
            model.Settings.QuoteType.Should().Be(SqlQuoteType.None);
            model.Settings.TargetType.Should().Be(PublishTargetType.Dacpac);
        }
Exemplo n.º 8
0
        public async Task ProjectList()
        {
            var projects = Substitute.For <EnvDTE.Projects>();
            var p1       = Substitute.For <EnvDTE.Project>();

            p1.FileName.Returns("project1.sqlproj");
            p1.Name.Returns("project1");
            var p2 = Substitute.For <EnvDTE.Project>();

            p2.FileName.Returns("project2.sqlproj");
            p2.Name.Returns("project2");
            var p3 = Substitute.For <EnvDTE.Project>();

            p3.FileName.Returns("project3.csproj");
            p3.Name.Returns("project3");
            projects.GetEnumerator().Returns((new EnvDTE.Project[] { p1, p2, p3 }).GetEnumerator());

            var sol = Substitute.For <EnvDTE.Solution>();

            sol.Projects.Returns(projects);
            _pss.GetSolution().Returns(sol);

            _storage.GetSetting(SqlSProcPublishSettings.TargetTypeSettingName, PublishTargetType.Dacpac).Returns(PublishTargetType.Project);
            _storage.GetSetting(SqlSProcPublishSettings.TargetProjectSettingName, Arg.Any <string>()).Returns(("project2"));

            var settings = new SqlSProcPublishSettings(_storage);
            var model    = await SqlPublishOptionsDialogViewModel.CreateAsync(settings, _coreShell, _pss, _pcsp);

            model.Settings.TargetType.Should().Be(PublishTargetType.Project);
            model.Settings.TargetProject.Should().Be("project2");

            model.Targets.Should().HaveCount(2);
            model.Targets[0].Should().Be("project1");
            model.Targets[1].Should().Be("project2");
            model.SelectedTargetIndex.Should().Be(1);
        }