Contact page shows operator specific info

This commit is contained in:
Oliver Hauff 2021-07-20 23:06:09 +02:00
parent e436e83c1d
commit a58c33f005
51 changed files with 948 additions and 221 deletions

View file

@ -84,7 +84,7 @@ namespace UITest.Fixtures.Connector
/// <param name="p_strMerchantId">Id of the merchant.</param>
/// <param name="p_strCookie">Auto cookie of user if user is logged in.</param>
/// <returns>List of files.</returns>
public static StationsAllResponse GetStationsAllCall(
public static StationsAvailableResponse GetStationsAllCall(
string p_strCopriHost,
string p_strMerchantId,
string p_strCookie = null)
@ -100,7 +100,7 @@ namespace UITest.Fixtures.Connector
l_oStationsAllResponse = Post(l_oCommand, p_strCopriHost);
// Extract bikes from response.
return JsonConvert.DeserializeObject<ResponseContainer<StationsAllResponse>>(l_oStationsAllResponse)?.shareejson;
return JsonConvert.DeserializeObject<ResponseContainer<StationsAvailableResponse>>(l_oStationsAllResponse)?.shareejson;
#else
return null;
#endif

View file

@ -88,9 +88,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL),
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL),
new System.Exception("Bang when getting stations..."))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
@ -110,18 +110,18 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALLEMPTY))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALLEMPTY))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE),
new System.Exception("Bang when getting bikes..."))));
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL))));
var result = await new CachedQuery(server).GetBikesAndStationsAsync();
@ -137,15 +137,15 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE))));
server.Stub(x => x.AddToCache(Arg<Result<StationsAllResponse>>.Is.Anything));
server.Stub(x => x.AddToCache(Arg<Result<StationsAvailableResponse>>.Is.Anything));
server.Stub(x => x.AddToCache(Arg<Result<BikesAvailableResponse>>.Is.Anything));
var result = await new CachedQuery(server).GetBikesAndStationsAsync();

View file

@ -134,9 +134,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL),
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL),
new System.Exception("Bang when getting stations..."))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
@ -160,9 +160,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALLEMPTY))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALLEMPTY))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsMonkeyStore),
@ -173,9 +173,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED))));
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL))));
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAndStationsAsync();
@ -190,9 +190,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALLEMPTY))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALLEMPTY))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsHttps),
@ -207,9 +207,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE))));
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == true))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsMonkeyStore),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL))));
var result = await new CachedQueryLoggedIn(server, "123", "a@b", () => DateTime.Now).GetBikesAndStationsAsync();
@ -224,9 +224,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
{
var server = MockRepository.GenerateMock<ICachedCopriServer>();
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAllResponse>(
server.Stub(x => x.GetStations(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<StationsAvailableResponse>(
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL))));
JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL))));
server.Stub(x => x.GetBikesAvailable(Arg<bool>.Matches(fromCache => fromCache == false))).Return(Task.Run(() => new Result<BikesAvailableResponse>(
typeof(CopriCallsHttps),
@ -236,7 +236,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector.Query
typeof(CopriCallsHttps),
JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED))));
server.Stub(x => x.AddToCache(Arg<Result<StationsAllResponse>>.Is.Anything));
server.Stub(x => x.AddToCache(Arg<Result<StationsAvailableResponse>>.Is.Anything));
server.Stub(x => x.AddToCache(Arg<Result<BikesAvailableResponse>>.Is.Anything));
server.Stub(x => x.AddToCache(Arg<Result<BikesReservedOccupiedResponse>>.Is.Anything));

View file

@ -73,7 +73,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Query
{
var server = MockRepository.GenerateMock<ICopriServer>();
server.Stub(x => x.GetStationsAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
server.Stub(x => x.GetStationsAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
server.Stub(x => x.GetBikesAvailableAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
var result = await new TINK.Model.Connector.Query(server).GetBikesAndStationsAsync();

View file

@ -108,7 +108,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
{
var server = MockRepository.GenerateMock<ICopriServer>();
server.Stub(x => x.GetStationsAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<StationsAllResponse>(STATIONSALL)));
server.Stub(x => x.GetStationsAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
server.Stub(x => x.GetBikesAvailableAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
server.Stub(x => x.GetBikesOccupiedAsync()).Return(Task.Run(() => JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));

View file

@ -228,7 +228,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestGetStationGroup_Invalid()
{
var l_oStation = JsonConvertRethrow.DeserializeObject<StationsAllResponse.StationInfo>(
var l_oStation = JsonConvertRethrow.DeserializeObject<StationsAvailableResponse.StationInfo>(
@"{
""station"" : ""4"",
""gps"" : { ""latitude"": ""47.6586936667"", ""longitude"": ""9.16863116667"" }
@ -241,7 +241,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestGetStationGroup_TINK()
{
var l_oStation = JsonConvertRethrow.DeserializeObject<StationsAllResponse.StationInfo>(
var l_oStation = JsonConvertRethrow.DeserializeObject<StationsAvailableResponse.StationInfo>(
@"{
""station"" : ""4"",
""station_group"" : [ ""TINK"" ],
@ -254,7 +254,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestGetStationGroup_TINKAndKonrad()
{
var l_oStation = JsonConvertRethrow.DeserializeObject<StationsAllResponse.StationInfo>(
var l_oStation = JsonConvertRethrow.DeserializeObject<StationsAvailableResponse.StationInfo>(
@"{
""station"" : ""4"",
""station_group"": [ ""TINK"", ""Konrad"" ],

View file

@ -10,17 +10,20 @@ namespace TestTINKLib.Fixtures.ObjectTests.Station
[Test]
public void TestConstruct()
{
var l_oNull = new NullStation();
var nullStation = new NullStation();
// Was -1 before swiching type of id from int to string when switching from COPRI version v4.0 to v4.1
Assert.That(
l_oNull.Id,
nullStation.Id,
Is.Null);
Assert.AreEqual(0, l_oNull.Group.ToList().Count);
Assert.AreEqual(string.Empty, l_oNull.StationName);
Assert.IsNaN(l_oNull.Position.Latitude);
Assert.IsNaN(l_oNull.Position.Longitude);
Assert.AreEqual(0, nullStation.Group.ToList().Count);
Assert.AreEqual(string.Empty, nullStation.StationName);
Assert.IsNaN(nullStation.Position.Latitude);
Assert.IsNaN(nullStation.Position.Longitude);
Assert.That(
nullStation.OperatorData,
Is.Not.Null);
}
}
}

View file

@ -38,5 +38,13 @@ namespace TestTINKLib.Fixtures.Station
{
Assert.Throws<ArgumentException>(() => new TINK.Model.Station.Station("7", null, new Position(1, 2), "Hallo"));
}
[Test]
public void TestConstruct_NoOperator()
{
Assert.That(
new TINK.Model.Station.Station("7", new List<string>(), new Position(1, 2), "Hallo").OperatorData,
Is.Not.Null);
}
}
}