89 lines
3.0 KiB
C#
89 lines
3.0 KiB
C#
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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|