using NUnit.Framework; using TINK.Model; using TINK.Model.Connector; using System; using static TINK.Repository.CopriCallsMemory; using System.Collections.Generic; using TINK.Repository; using TINK.ViewModel.Settings; using NSubstitute; using TINK.Services; using TINK.Model.Services.Geolocation; using TestFramework.Model.Device; using TestFramework.Model.User.Account; using TestFramework.Model.Services.Geolocation; using TestFramework.Services.BluetoothLock; using TestFramework.Services.Permissions; namespace TestTINKLib.Fixtures.UseCases.SelectStation { [TestFixture] public class TestTinkApp { [Test] public void TestBikesAtStation_AccountStoreMock_NoUser_CopriMock_Set2() { var l_oConnector = new ConnectorCache( new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)), string.Empty, string.Empty, new CopriCallsMemory(SampleSets.Set2, 1)); var l_oTinkApp = new TinkApp( new TINK.Model.Settings.Settings( new TINK.ViewModel.Map.GroupFilterMapPage(new Dictionary { { "TINK", FilterState.On } }), new GroupFilterSettings(new Dictionary { { "TINK", FilterState.On }, { "Konrad", FilterState.On } }), new Uri("https://shareeapp-primary.copri-bike.de/APIjsonserver"), new TINK.Settings.PollingParameters(new TimeSpan(10000), true), Serilog.Events.LogEventLevel.Error, activeLockService: typeof(LocksServiceMock).FullName, activeGeolocationService: typeof(GeolocationMock).FullName), new StoreMock(), (isConnected, uri, sessionCookie, mail, expiresAfter) => new ConnectorCache(new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)), sessionCookie, mail, new CopriCallsMemory(SampleSets.Set2, 1)), "myMerchId", Substitute.For>(), new LocksServiceMock(), new DeviceMock(), new SpecialFolderMock(), null, // Cipher new PermissionsMock(), isConnectedFunc: () => true, currentVersion: new Version(3, 2, 0, 115), lastVersion: new Version(3, 0, 173)); // Current app version. Must be larger or equal 3.0.173 to Assert.AreEqual(0, TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.Count); l_oTinkApp.SelectedStation = new TINK.Model.Station.Station("5", new List(), null); Assert.AreEqual(3, TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.Count); Assert.AreEqual("25", TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.GetById("25").Id); Assert.AreEqual("11", TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.GetById("11").Id); Assert.AreEqual("2", TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.GetById("2").Id); l_oTinkApp.SelectedStation = new TINK.Model.Station.Station("10", new List(), null); Assert.AreEqual( 1, TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.Count); Assert.AreEqual("18", TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.GetById("18").Id); l_oTinkApp.SelectedStation = new TINK.Model.Station.Station("91345", new List(), null); Assert.AreEqual(0, TestHelper.GetBikesAtStation(l_oTinkApp.ActiveUser, l_oConnector, l_oTinkApp.Stations, l_oTinkApp.SelectedStation.Id).Result.Count); } } }