Version 3.0.255

This commit is contained in:
Oliver Hauff 2021-11-07 19:42:59 +01:00
parent db9c288584
commit 5a26bf273b
1495 changed files with 159465 additions and 5060 deletions

View file

@ -21,6 +21,7 @@ using TINK.ViewModel.Settings;
using TINK.Model.Services.Geolocation;
using TINK.Services;
using NSubstitute;
using TINK.Services.Permissions;
namespace TestTINKLib.Fixtures.UseCases.Startup
{
@ -56,12 +57,15 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
locationPermission,
Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
Substitute.For<IGeolocation>(),
(mapspan) => { },
viewService,
navigationService);
@ -128,10 +132,13 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
locationPermission,
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
(mapspan) => { },
@ -197,10 +204,13 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
locationPermission,
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
(mapspan) => { },
@ -261,10 +271,13 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
locationPermission,
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
(mapspan) => { },
@ -325,10 +338,13 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
locationPermission,
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
(mapspan) => { },
@ -403,10 +419,13 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
locationPermission,
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
(mapspan) => { },
@ -484,10 +503,13 @@ namespace TestTINKLib.Fixtures.UseCases.Startup
var viewService = MockRepository.GenerateStub<IViewService>();
var navigationService = MockRepository.GenerateStub<INavigation>();
var locationPermission = Substitute.For<ILocationPermission>();
locationPermission.CheckStatusAsync().Returns(Status.Granted);
var viewModel = new MapPageViewModel(
tinkApp,
new PermissionsMock(),
locationPermission,
NSubstitute.Substitute.For<Plugin.BLE.Abstractions.Contracts.IBluetoothLE>(),
NSubstitute.Substitute.For<IGeolocation>(),
(mapspan) => { },

View file

@ -17,14 +17,13 @@ using TINK.Repository;
using static TINK.Repository.CopriCallsMemory;
using TINK.ViewModel.Map;
using TINK.ViewModel.Settings;
using Plugin.Permissions.Abstractions;
using Plugin.BLE.Abstractions.Contracts;
using TINK.Services.BluetoothLock;
using NSubstitute;
using TINK.ViewModel.BikesAtStation;
using Xamarin.Forms;
using TINK.Services.BluetoothLock.Tdo;
using Plugin.Permissions;
using TINK.Services.Permissions;
using TINK.Model.Services.Geolocation;
using NSubstitute.ExceptionExtensions;
using TINK.Services;
@ -42,7 +41,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
var tinkApp = new TinkApp(
@ -61,7 +60,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -114,7 +113,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
var tinkApp = new TinkApp(
@ -133,7 +132,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -178,11 +177,11 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
// Fake location permissions to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Granted));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Granted));
geolocation.Active.IsGeolcationEnabled.Returns(true); // Fake gps to be on
bluetooth.State.Returns(BluetoothState.On); // Fake bluetooth to be on
@ -210,7 +209,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -238,7 +237,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
var btDummy = bluetooth.Received().State;
locksService.GetLocksStateAsync(Arg.Any<IEnumerable<LockInfoAuthTdo>>(), Arg.Any<TimeSpan>());
@ -278,11 +277,11 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
// Fake location permissions not to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Denied));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Denied));
// Fake anwser on question whether to open permissions dialog
viewService.DisplayAlert(Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>()).Returns(true);
@ -311,7 +310,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -339,9 +338,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
permissions.RequestPermissionAsync<LocationPermission>(); // Ask user from permissions.
permissions.RequestAsync(); // Ask user from permissions.
viewService.DisplayAlert(
"Hint",
"Please allow location sharing so that bike lock/locks can be managed.\r\nOpen sharing dialog?",
@ -384,11 +383,11 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
// Fake location permissions not to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Denied));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Denied));
permissions.OpenAppSettings().Throws<Exception>(); // Ensures that method is not called and fixture succeeds.
// Fake anwser on question whether to open permissions dialog
@ -418,7 +417,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -446,9 +445,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
permissions.RequestPermissionAsync<LocationPermission>(); // Ask user from permissions.
permissions.RequestAsync(); // Ask user from permissions.
viewService.DisplayAlert(
"Hint",
"Please allow location sharing so that bike lock/locks can be managed.\r\nOpen sharing dialog?",
@ -490,11 +489,11 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
// Fake location permissions to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Granted));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Granted));
geolocation.Active.IsGeolcationEnabled.Returns(false); // Fake gps to be off
bluetooth.State.Returns(BluetoothState.On); // Fake bluetooth to be on
@ -522,7 +521,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -550,7 +549,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
viewService.DisplayAlert(
"Hint",
@ -592,11 +591,11 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
// Fake location permissions to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Granted));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Granted));
geolocation.Active.IsGeolcationEnabled.Returns(true); // Fake gps to be on
bluetooth.State.Returns(BluetoothState.Off); // // Fake bluetooth to be off
@ -624,7 +623,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -652,7 +651,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
var btDummy = bluetooth.Received().State;
viewService.DisplayAlert(
@ -694,7 +693,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
bluetooth.State.Returns(BluetoothState.On);
@ -765,7 +764,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
bluetooth.State.Returns(BluetoothState.On);
@ -833,7 +832,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
bluetooth.State.Returns(BluetoothState.On);
@ -910,7 +909,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
bluetooth.State.Returns(BluetoothState.On);
@ -982,7 +981,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
bluetooth.State.Returns(BluetoothState.On);
@ -1068,7 +1067,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
bluetooth.State.Returns(BluetoothState.On);

View file

@ -16,13 +16,12 @@ using TINK.Repository;
using static TINK.Repository.CopriCallsMemory;
using TINK.ViewModel.Map;
using TINK.ViewModel.Settings;
using Plugin.Permissions.Abstractions;
using Plugin.BLE.Abstractions.Contracts;
using TINK.Services.BluetoothLock;
using NSubstitute;
using TINK.Services.BluetoothLock.Tdo;
using TINK.ViewModel.MyBikes;
using Plugin.Permissions;
using TINK.Services.Permissions;
using Xamarin.Forms;
using TINK.Model.Services.Geolocation;
using NSubstitute.ExceptionExtensions;
@ -41,14 +40,14 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
timeOut.MultiConnect.Returns(new TimeSpan(0));
// Fake location permissions to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Granted));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Granted));
geolocation.Active.IsGeolcationEnabled.Returns(true); // Fake gps to be on
bluetooth.State.Returns(BluetoothState.On); // Fake bluetooth to be on
@ -76,7 +75,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -102,7 +101,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
var btDummy = bluetooth.Received().State;
locksService.GetLocksStateAsync(Arg.Any<IEnumerable<LockInfoAuthTdo>>(), Arg.Any<TimeSpan>());
@ -132,14 +131,14 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
timeOut.MultiConnect.Returns(new TimeSpan(0));
// Fake location permissions not to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Denied));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Denied));
// Fake anwser on question whether to open permissions dialog
viewService.DisplayAlert(Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>()).Returns(true);
@ -167,7 +166,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -193,9 +192,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
permissions.RequestPermissionAsync<LocationPermission>(); // Ask user from permissions.
permissions.RequestAsync(); // Ask user from permissions.
viewService.DisplayAlert(
"Hint",
"Please allow location sharing so that bike lock/locks can be managed.\r\nOpen sharing dialog?",
@ -228,14 +227,14 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
timeOut.MultiConnect.Returns(new TimeSpan(0));
// Fake location permissions not to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Denied));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Denied));
permissions.OpenAppSettings().Throws<Exception>(); // Ensures that method is not called and fixture succeeds.
@ -266,7 +265,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -292,9 +291,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
permissions.RequestPermissionAsync<LocationPermission>(); // Ask user from permissions.
permissions.RequestAsync(); // Ask user from permissions.
viewService.DisplayAlert(
"Hint",
"Please allow location sharing so that bike lock/locks can be managed.\r\nOpen sharing dialog?",
@ -326,14 +325,14 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
timeOut.MultiConnect.Returns(new TimeSpan(0));
// Fake location permissions to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Granted));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Granted));
geolocation.Active.IsGeolcationEnabled.Returns(false); // Fake gps to be off
// Fake bluetooth answer for locks with id 2200545 and 2200537.
@ -360,7 +359,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -386,7 +385,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
viewService.DisplayAlert(
"Hint",
@ -418,14 +417,14 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
timeOut.MultiConnect.Returns(new TimeSpan(0));
// Fake location permissions to be set
permissions.CheckPermissionStatusAsync<LocationPermission>().Returns(Task.FromResult(PermissionStatus.Granted));
permissions.CheckStatusAsync().Returns(Task.FromResult(Status.Granted));
geolocation.Active.IsGeolcationEnabled.Returns(true); // Fake gps to be on
bluetooth.State.Returns(BluetoothState.Off); // Fake bluetooth to be off
@ -452,7 +451,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions,
isConnectedFunc: () => true,
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -478,7 +477,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
// Verify behaviour
Received.InOrder(() =>
{
permissions.CheckPermissionStatusAsync<LocationPermission>();
permissions.CheckStatusAsync();
var glDummy = geolocation.Active.Received().IsGeolcationEnabled;
var btDummy = bluetooth.Received().State;
viewService.DisplayAlert(
@ -516,7 +515,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
@ -547,7 +546,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var myBikes = new MyBikesPageViewModel(
tinkApp.ActiveUser,
permissions,
permissions, // Permissions,
bluetooth,
Device.iOS,
() => tinkApp.GetIsConnected(),
@ -577,7 +576,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
@ -599,7 +598,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions
isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -608,7 +607,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var myBikes = new MyBikesPageViewModel(
tinkApp.ActiveUser,
permissions,
null, // Permissions,
bluetooth,
Device.iOS,
() => tinkApp.GetIsConnected(),
@ -641,7 +640,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
@ -683,7 +682,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var myBikes = new MyBikesPageViewModel(
tinkApp.ActiveUser,
permissions,
null, // Permissions,
bluetooth,
Device.iOS,
() => tinkApp.GetIsConnected(),
@ -719,7 +718,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var locksService = Substitute.For<ILocksService>();
var timeOut = Substitute.For<ITimeOutProvider>();
var viewService = Substitute.For<IViewService>();
var permissions = Substitute.For<IPermissions>();
var permissions = Substitute.For<ILocationPermission>();
var bluetooth = Substitute.For<IBluetoothLE>();
locksService.TimeOut.Returns(timeOut);
@ -752,7 +751,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
new DeviceMock(),
new SpecialFolderMock(),
null, // Cipher
permissions,
null, // Permissions.
isConnectedFunc: () => false, // Offline
postAction: (d, obj) => d(obj),
currentVersion: new Version(3, 2, 0, 115), // Current app version
@ -761,7 +760,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.ViewModel
var myBikes = new MyBikesPageViewModel(
tinkApp.ActiveUser,
permissions,
null, // Permissions,
bluetooth,
Device.iOS,
() => tinkApp.GetIsConnected(),