using BetfairApi; using BetfairApi.BettingModels.Enums; using BetfairApi.Tests; using Xunit; using static BetfairApi.Authentication; namespace AutoBet.Core.Tests { public class BetfairClientLoginTests { [Theory] [InlineData(TestSettings.Username, TestSettings.Password, TestSettings.AppKey, LoginStatus.Success)] public void TestLogin(string username, string password, string appKey, LoginStatus expectedStatus) { //Arrange var client = new Authentication(username, password, appKey); //Act var loginResponse = client.Authenticate().GetAwaiter().GetResult(); //Assert Assert.NotNull(loginResponse); Assert.Equal(expectedStatus, loginResponse.Status); } [Theory] [InlineData(TestSettings.Username, TestSettings.Password, TestSettings.AppKey)] public void TestAccountFunds(string username, string password, string appKey) { //Arrange var auth = new Authentication(username, password, appKey); var client = new AccountApiClient(auth); //Act var accountFunds = client.GetAccountFunds().GetAwaiter().GetResult(); //Assert Assert.NotNull(accountFunds); Assert.True(accountFunds.AvailableToBetBalance > 0); } [Theory] [InlineData(TestSettings.Username, TestSettings.Password, TestSettings.AppKey)] public void TestAccountStatement(string username, string password, string appKey) { //Arrange var auth = new Authentication(username, password, appKey); var client = new AccountApiClient(auth); //Act var accountStatement = client.GetAccountStatement().GetAwaiter().GetResult(); //Assert Assert.NotNull(accountStatement); } [Theory] [InlineData(TestSettings.Username, TestSettings.Password, TestSettings.AppKey)] public void TestCurrentBets(string username, string password, string appKey) { //Arrange var auth = new Authentication(username, password, appKey); var client = new BettingApiClient(auth); //Act var currentOrders = client.ListCurrentOrders().GetAwaiter().GetResult(); //Assert Assert.NotNull(currentOrders); Assert.True(currentOrders.CurrentOrders.Length > -1); } [Theory] [InlineData(TestSettings.Username, TestSettings.Password, TestSettings.AppKey)] public void TestPreviousOrders(string username, string password, string appKey) { //Arrange var auth = new Authentication(username, password, appKey); var client = new BettingApiClient(auth); //Act var currentOrders = client.ListClearedOrders(BetStatus.Settled).GetAwaiter().GetResult(); //Assert Assert.NotNull(currentOrders); } } }