public ConfigureDataProviderViewModelMock(
     IEventAggregator eventAggregator,
     IDatabaseSettings databaseSettings,
     IDatabaseConnector databaseConnector)
     : base(eventAggregator, databaseSettings, databaseConnector)
 {
     DataProviderInfoMock = new SqLiteInfo();
 }
Пример #2
0
        public void DetermineSelectedItem_OneAvailableProvider_FirstAvailableItemIsTheNiceNameOfThatProvider()
        {
            var providerInfo = new SqLiteInfo();

            var availableProviders = new List <IDataProviderInfo>
            {
                providerInfo
            };

            _databaseSettingsStub
            .Setup(ds => ds.GetAvailableProviders())
            .Returns(availableProviders);

            var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object)
                      .DetermineSelectedItem();

            Assert.That(sut.AvailableItems.First(), Is.EqualTo(providerInfo.NiceName));
        }
Пример #3
0
        public void DetermineSelectedItem_OneAvailableProvider_IsValidIsTrue()
        {
            var providerInfo = new SqLiteInfo();

            var availableProviders = new List <IDataProviderInfo>
            {
                providerInfo
            };

            _databaseSettingsStub
            .Setup(ds => ds.GetAvailableProviders())
            .Returns(availableProviders);

            var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object);

            sut.DetermineSelectedItem();

            Assert.That(sut.IsValid, Is.True);
        }
Пример #4
0
        public void DetermineSelectedItem_TwoAvailableProvidersNoCurrentProviderDefinedInSettings_SelectedItemIsTheNiceNameOfFirstProviderSortedAlphabetically()
        {
            var sqLiteInfo = new SqLiteInfo();
            var mySqlInfo  = new MySqlInfo();

            var availableProviders = new List <IDataProviderInfo>
            {
                mySqlInfo, sqLiteInfo
            };

            _databaseSettingsStub
            .Setup(ds => ds.GetAvailableProviders())
            .Returns(availableProviders);

            var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object)
                      .DetermineSelectedItem();

            // sqliteInfo NiceName is: "Integrated (SQLite)"
            Assert.That(sut.SelectedItem, Is.EqualTo(sqLiteInfo.NiceName));
        }
Пример #5
0
        public void DetermineSelectedItem_TwoAvailableProvidersCurrentProviderDefinedInSettings_SelectedItemIsTheNiceNameOfCurrentProvider()
        {
            var sqLiteInfo = new SqLiteInfo();
            var mySqlInfo  = new MySqlInfo();

            var availableProviders = new List <IDataProviderInfo>
            {
                mySqlInfo, sqLiteInfo
            };

            _databaseSettingsStub
            .Setup(ds => ds.GetAvailableProviders())
            .Returns(availableProviders);
            _databaseSettingsStub
            .Setup(ds => ds.GetCurrentDataProvider())
            .Returns(mySqlInfo);

            var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object)
                      .DetermineSelectedItem();

            Assert.That(sut.SelectedItem, Is.EqualTo(mySqlInfo.NiceName));
        }
Пример #6
0
        public void CommitActionCommandExecute_TwoAvailableProvidersSelectedItemIsMySqlNiceName_CallsSettingsSetCurrentDataProviderToWithMySqlDataProvider()
        {
            var sqLiteInfo = new SqLiteInfo();
            var mySqlInfo  = new MySqlInfo();

            var availableProviders = new List <IDataProviderInfo>
            {
                mySqlInfo, sqLiteInfo
            };

            _databaseSettingsStub
            .Setup(ds => ds.GetAvailableProviders())
            .Returns(availableProviders);

            var sut = new ChooseDataProviderViewModel(_aggregator, _databaseSettingsStub.Object)
            {
                SelectedItem = mySqlInfo.NiceName
            };

            sut.CommitActionCommand.Execute(null);

            _databaseSettingsStub.Verify(ds => ds.SetCurrentDataProviderTo(mySqlInfo));
        }