mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-04-19 03:27:29 +02:00
Contact page shows operator specific info
This commit is contained in:
parent
e436e83c1d
commit
a58c33f005
51 changed files with 948 additions and 221 deletions
|
@ -305,7 +305,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(false);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
|
@ -329,7 +329,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
|
@ -352,7 +352,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
https.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
|
||||
https.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
|
@ -375,8 +375,8 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
var https = Substitute.For<ICopriServer>();
|
||||
|
||||
cache.IsStationsExpired.Returns(true);
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
|
||||
https.GetStationsAsync().Returns<StationsAllResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
cache.GetStationsAsync().Returns(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
https.GetStationsAsync().Returns<StationsAvailableResponse>(x => { throw new WebConnectFailureException("Bang...", new Exception()); });
|
||||
|
||||
var provider = new CopriProviderHttps(
|
||||
new Uri("http://1.2.3.4"),
|
||||
|
@ -411,17 +411,17 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
|
|||
try
|
||||
{
|
||||
// Do not add if an excption occurred
|
||||
provider.AddToCache(new Result<StationsAllResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL), new System.Exception("Bang...")));
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new System.Exception("Bang...")));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
// Do not add if results from cache
|
||||
provider.AddToCache(new Result<StationsAllResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(0, stations.Response.stations.Count);
|
||||
|
||||
// Add result
|
||||
provider.AddToCache(new Result<StationsAllResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
|
||||
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
|
||||
stations = await provider.GetStations(true);
|
||||
Assert.AreEqual(3, stations.Response.stations.Count);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ using static TINK.Repository.CopriCallsMemory;
|
|||
|
||||
using BikeInfo = TINK.Model.Bike.BluetoothLock.BikeInfo;
|
||||
using TINK.Model.User.Account;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace TestTINKLib.Fixtures.Connector
|
||||
{
|
||||
|
@ -42,6 +43,125 @@ namespace TestTINKLib.Fixtures.Connector
|
|||
Assert.AreEqual("Südstadt Station", l_oStationsTarget.GetById("31").StationName);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetAllStations_OperatorData()
|
||||
{
|
||||
var stations = UpdaterJSON.GetStationsAllMutable(JsonConvert.DeserializeObject<ResponseContainer<StationsAvailableResponse>>(STATIONS_AVAILABLE_LOGGEDIN_20210720).shareejson);
|
||||
|
||||
var station = stations.FirstOrDefault(x => x.Id == "LV_3");
|
||||
Assert.That(
|
||||
station,
|
||||
Is.Not.Null,
|
||||
"Station LV_3 must exist.");
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Color,
|
||||
Is.EqualTo(Color.FromHex("#006269")));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Hours,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Name,
|
||||
Is.EqualTo("LastenVelo Freiburg"));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.MailAddressText,
|
||||
Is.EqualTo("info@lastenvelofreiburg.de"));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.PhoneNumberText,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
station = stations.FirstOrDefault(x => x.Id == "FR_105");
|
||||
Assert.That(
|
||||
station,
|
||||
Is.Not.Null,
|
||||
"Station FR_105 must exist.");
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Color,
|
||||
Is.EqualTo(Color.FromHex("#009699")));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Hours,
|
||||
Is.EqualTo("B<>rozeiten: Montag, Mittwoch, Freitag 9-12 Uhr"));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Name,
|
||||
Is.EqualTo("sharee.bike | TeilRad GmbH"));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.MailAddressText,
|
||||
Is.EqualTo("hotline@sharee.bike"));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.PhoneNumberText,
|
||||
Is.EqualTo("+49 761 45370097"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetAllStations_OperatorData_NoOperatorData()
|
||||
{
|
||||
var stations = UpdaterJSON.GetStationsAllMutable(JsonConvert.DeserializeObject<ResponseContainer<StationsAvailableResponse>>(@"
|
||||
{
|
||||
""shareejson"": {
|
||||
""lang"": ""DE"",
|
||||
""impress_html"": ""site/impress.html"",
|
||||
""tariff_info_html"": ""site/tariff_info_1.html"",
|
||||
""debuglevel"": ""1"",
|
||||
""user_tour"": [
|
||||
null,
|
||||
""""
|
||||
],
|
||||
""response"": ""stations_available"",
|
||||
""user_id"": ""ohauff@posteo.de"",
|
||||
""stations"": {
|
||||
""LV_3"": {
|
||||
""service_tour"": ""LV_1"",
|
||||
""uri_operator"": ""https://shareeapp-lv.copri.eu"",
|
||||
""authed"": ""1"",
|
||||
""station"": ""LV_3"",
|
||||
""gps"": {
|
||||
""latitude"": ""47.9973"",
|
||||
""longitude"": ""7.8585""
|
||||
},
|
||||
""gps_radius"": ""100"",
|
||||
""description"": ""Katholische Akademie"",
|
||||
""state"": ""available"",
|
||||
""station_group"": [
|
||||
""LV_300005""
|
||||
]
|
||||
},
|
||||
},
|
||||
}
|
||||
}").shareejson);
|
||||
|
||||
var station = stations.FirstOrDefault(x => x.Id == "LV_3");
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Color,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Hours,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.Name,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.MailAddressText,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
station.OperatorData.PhoneNumberText,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestUpdateBikesAvailable_BikeNr5GetBooked()
|
||||
{
|
||||
|
|
61
TestShareeLib/Model/Station/TestData.cs
Normal file
61
TestShareeLib/Model/Station/TestData.cs
Normal file
|
@ -0,0 +1,61 @@
|
|||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TestShareeLib.Model.Station
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestData
|
||||
{
|
||||
[Test]
|
||||
public void TestCtor()
|
||||
{
|
||||
var data = new TINK.Model.Station.Operator.Data();
|
||||
Assert.That(
|
||||
data.Color,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
data.Hours,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
data.Name,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
data.MailAddressText,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
data.PhoneNumberText,
|
||||
Is.EqualTo(string.Empty));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCtor_Null()
|
||||
{
|
||||
var data = new TINK.Model.Station.Operator.Data(null, null, null, null, null);
|
||||
Assert.That(
|
||||
data.Color,
|
||||
Is.Null);
|
||||
|
||||
Assert.That(
|
||||
data.Hours,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
data.Name,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
data.MailAddressText,
|
||||
Is.EqualTo(string.Empty));
|
||||
|
||||
Assert.That(
|
||||
data.PhoneNumberText,
|
||||
Is.EqualTo(string.Empty));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,7 +19,7 @@ namespace UITest.Fixtures.ObjectTests.Connector
|
|||
var bikesOccupied = JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(CopriCallsMonkeyStore.BIKESOCCUPIED);
|
||||
Assert.NotNull(bikesOccupied?.bikes_occupied);
|
||||
|
||||
var stations = JsonConvert.DeserializeObject<StationsAllResponse>(CopriCallsMonkeyStore.STATIONSALL);
|
||||
var stations = JsonConvert.DeserializeObject<StationsAvailableResponse>(CopriCallsMonkeyStore.STATIONSALL);
|
||||
Assert.NotNull(stations?.stations);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue