Advertisement
Guest User

Untitled

a guest
Sep 11th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.42 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading;
  5. using Bwin.E2ETests.Framework.Components;
  6. using Bwin.E2ETests.Infrastructure.Attributes;
  7. using Bwin.E2ETests.Infrastructure.Tests;
  8. using Bwin.M2.E2ETests.Common.Config;
  9. using Bwin.M2.E2ETests.MobileSports.BCM;
  10. using Bwin.M2.E2ETests.MobileSports.LBAI;
  11. using NUnit.Framework;
  12. using ComboPrevention = Bwin.M2.E2ETests.MobileSports.BCM.ComboPrevention;
  13. using EventType = Bwin.M2.E2ETests.MobileSports.BCM.EventType;
  14. using OpenQA.Selenium;
  15.  
  16. namespace Bwin.M2.E2ETests.MobileSports
  17. {
  18.     public class BetPlacementTests : BaseTests<IWebDriver>
  19.     {
  20.         [SetUp]
  21.         public void Setup()
  22.         {
  23.         }
  24.  
  25.         [Test]
  26.         [LogIn(CreateThroughPosApi = false)]
  27.         public void CashoutSingleLiveBet()
  28.         {
  29.             var event1 = CreateEvent(false, ComboPrevention.AllCombo);
  30.             PublishEvent(event1);
  31.             var event2 = CreateEvent(true, ComboPrevention.AllComboLiveEvent);
  32.             PublishEvent(event2);
  33.             var event3 = CreateEvent(true, ComboPrevention.NoCombo);
  34.             PublishEvent(event3);
  35.  
  36.             Driver.Navigate().GoToUrl($"{Urls.SportsLangUrl}/sports/event/{event1}");
  37.             Thread.Sleep(1000);
  38.             var option = Element.Get("#marketboard .market:nth-of-type(1) .results .result:nth-of-type(1)", Driver);
  39.             option.Click();
  40.             Thread.Sleep(1000);
  41.  
  42.             var betslipCounter = Element.Get("span.betslip-count-badge.visible");
  43.             Assert.That(betslipCounter.Text, Is.EqualTo("1"));
  44.  
  45.             Driver.Navigate().GoToUrl($"{Urls.SportsLangUrl}/sports/event/{event2}");
  46.             Thread.Sleep(1000);
  47.             var option2 = Element.Get("#marketboard .market:nth-of-type(1) .results .result:nth-of-type(1)", Driver);
  48.             option2.Click();
  49.             Thread.Sleep(1000);
  50.  
  51.             var betslipCounter2 = Element.Get("span.betslip-count-badge.visible");
  52.             Assert.That(betslipCounter2.Text, Is.EqualTo("2"));
  53.  
  54.             Driver.Navigate().GoToUrl($"{Urls.SportsLangUrl}/sports/event/{event3}");
  55.             Thread.Sleep(1000);
  56.             var option3 = Element.Get("#marketboard .market:nth-of-type(1) .results .result:nth-of-type(1)", Driver);
  57.             option3.Click();
  58.             Thread.Sleep(1000);
  59.  
  60.             var betslipCounter3 = Element.Get("span.betslip-count-badge.visible");
  61.             Assert.That(betslipCounter3.Text, Is.EqualTo("3"));
  62.         }
  63.  
  64.         private static int CreateEvent(bool liveEvent, ComboPrevention comboPrevention)
  65.         {
  66.             var client = new BCMServiceClient();
  67.             client.ClientCredentials.Windows.ClientCredential.UserName = @"ICEPOR\s.a.csm.auto.admin";
  68.             client.ClientCredentials.Windows.ClientCredential.Password = @"eyDvAsBXB7k";
  69.             var players = client.GetNonObsoletePlayers(43, PlayerRetrievingScope.ForLeagueOnly).ToList();
  70.  
  71.             var random = new Random();
  72.  
  73.             EventPlayer pickPlayer(IList<PlayerBasic> playerList)
  74.             {
  75.                 var idx = random.Next(playerList.Count);
  76.                 var p = playerList[idx];
  77.                 playerList.RemoveAt(idx);
  78.                 return new EventPlayer
  79.                 {
  80.                     ID = p.ID,
  81.                     NameID = p.NameID
  82.                 };
  83.             }
  84.  
  85.             var p1 = pickPlayer(players);
  86.             var p2 = pickPlayer(players);
  87.  
  88.             var marketCreate = BcmFacade.CreateMarketCreate(17, p1, p2);
  89.             marketCreate.ComboPrevention = comboPrevention;
  90.             marketCreate.CutOffDateGMT = DateTime.UtcNow.SetSecondsAndFractionalToZero().AddHours(2);
  91.             marketCreate.OpenDateGMT = DateTime.UtcNow.SetSecondsAndFractionalToZero();
  92.             marketCreate.LiveBet = liveEvent;
  93.             marketCreate.Visible = true;
  94.             marketCreate.Options[0].Odd = 1.60;
  95.             marketCreate.Options[1].Odd = 3.80;
  96.             marketCreate.Options[2].Odd = 5.50;
  97.             var info = new EventWithGroupingInfo
  98.             {
  99.                 Event = new EventCreate
  100.                 {
  101.                     DefaultCutOffDateGMT = DateTime.UtcNow.SetSecondsAndFractionalToZero().AddHours(2),
  102.                     DefaultOpenDateGMT = DateTime.UtcNow.SetSecondsAndFractionalToZero(),
  103.                     EventDateGMT = DateTime.UtcNow.SetSecondsAndFractionalToZero().AddHours(2),
  104.                     EventType = EventType.PairGame,
  105.                     LeagueID = 43,
  106.                     LiveEvent = liveEvent,
  107.                     Providers = liveEvent ? EventProvider.Tv : EventProvider.None,
  108.                     ResponsibleBookie = "admi",
  109.                     DefaultMaxWinPerUser = 100000,
  110.                     DefaultStopLoss = 100000,
  111.                 },
  112.                 EventViewType = ViewType.European,
  113.                 Markets = new[] { marketCreate },
  114.                 EventPlayers = new[] { p1, p2 }
  115.             };
  116.             var ev = client.CreateEvents(new[] { info });
  117.             if (ev.EventResults[0].CreationStatus != EventCreationStatus.Success)
  118.             {
  119.                 Assert.Fail($"Failed to create event: {string.Join("\n", ev.EventResults[0].UserMessages)}");
  120.             }
  121.             return ev.EventResults[0].ID;
  122.         }
  123.  
  124.         private static void PublishEvent(int eventId)
  125.         {
  126.             var currentTime = DateTime.UtcNow.SetFractionalToZero().ToString("yyyy-MM-ddTHH:mm:ss");
  127.             var shortScoreData = $@"<SCORESTAT V=""5.0"" kind=""short"" eid=""{eventId}"" sid=""4"" type=""default"" sbName=""Soccer_SBNG""><SBNG_Timer id=""TIMER"" vis=""0"" v=""00:00"" ActionTS=""{currentTime}"" Running=""0"" ActionTSUtc=""{currentTime}Z""/><SBNG_Period id=""PERIOD"" vis=""1"" pid=""0""/><SBNG_SoccerDblGoal id=""G"" vis=""1""><T1><C pid=""254"" v=""0""/></T1><T2><C pid=""254"" v=""0""/></T2></SBNG_SoccerDblGoal></SCORESTAT>";
  128.             var fullScoreData = $@"<SCORESTAT V=""5.0"" kind=""full"" eid=""{eventId}"" sid=""4"" type=""default"" sbName=""Soccer_SBNG""><SBNG_SoccerDblCounter id=""PNLT"" vis=""1""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_Timer id=""TIMER"" vis=""0"" v=""00:00"" ActionTS=""{currentTime}"" Running=""0"" ActionTSUtc=""{currentTime}Z""/><SBNG_Messages id=""MSGS"" vis=""1"" refTime=""{currentTime}Z""/><SBNG_Bookieticker id=""BT"" vis=""1"" v=""""/><SBNG_Period id=""PERIOD"" vis=""1"" pid=""0""/><SBNG_SoccerDblCounter id=""FK"" vis=""0""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerDblGoal id=""G"" vis=""1""><T1><C pid=""1"" v=""0""/><C pid=""3"" v=""0""/><C pid=""5"" v=""0""/><C pid=""7"" v=""0""/><C pid=""9"" v=""0""/><C pid=""253"" v=""0""/><C pid=""254"" v=""0""/><C pid=""255"" v=""0""/></T1><T2><C pid=""1"" v=""0""/><C pid=""3"" v=""0""/><C pid=""5"" v=""0""/><C pid=""7"" v=""0""/><C pid=""9"" v=""0""/><C pid=""253"" v=""0""/><C pid=""254"" v=""0""/><C pid=""255"" v=""0""/></T2></SBNG_SoccerDblGoal><SBNG_SoccerDblSubstit id=""SBST"" vis=""0""><T1/><T2/></SBNG_SoccerDblSubstit><SBNG_SoccerDblCounter id=""RC"" vis=""1""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerDblCounter id=""OFSD"" vis=""0""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerDblCounter id=""YC"" vis=""1""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerDblCounter id=""GK"" vis=""0""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerDblCounter id=""CRN"" vis=""0""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerDblCounter id=""TI"" vis=""0""><T1/><T2/></SBNG_SoccerDblCounter><SBNG_SoccerPenaltiesControl id=""PC"" vis=""1""><T1><P id=""1"" v=""2""/><P id=""2"" v=""2""/><P id=""3"" v=""2""/><P id=""4"" v=""2""/><P id=""5"" v=""2""/></T1><T2><P id=""1"" v=""2""/><P id=""2"" v=""2""/><P id=""3"" v=""2""/><P id=""4"" v=""2""/><P id=""5"" v=""2""/></T2></SBNG_SoccerPenaltiesControl><SBNG_DblPlayerInfo id=""PLRINF"" vis=""1"" ColorsAvailable=""0""><SBNG_PlayerInfo id=""01"" vis=""1"" ShirtColor=""0"" ShortsColor=""0"" TeamName=""Austria""/><SBNG_PlayerInfo id=""02"" vis=""1"" ShirtColor=""ffffff"" ShortsColor=""ffffff"" TeamName=""England""/></SBNG_DblPlayerInfo></SCORESTAT>";
  129.             var client = new LBAIServiceClient("CustomBinding_ILBAIService");
  130.             client.ClientCredentials.Windows.ClientCredential.UserName = @"ICEPOR\s.a.csm.auto.admin";
  131.             client.ClientCredentials.Windows.ClientCredential.Password = @"eyDvAsBXB7k";
  132.             client.SetScoreData(eventId, fullScoreData, shortScoreData);
  133.             client.PublishEvent(eventId);
  134.             Thread.Sleep(6000);
  135.         }
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement