Knocks/BackEnd/Knoks.Test.Integrations/Api/BackOfficeControllerTest.cs

349 lines
16 KiB
C#

using Knoks.Api.Client.Invoker;
using Knoks.Test.Integrations.Api.Tools;
using System.Linq;
using System.Threading.Tasks;
using Xunit;
using static Knoks.Test.Integrations.Api.Tools.ApiMocker;
namespace Knoks.Test.Integrations.Api
{
public class BackOfficeControllerTest : ApiTestClient
{
[Fact(DisplayName = "Add FreeTokensCredit Account Transaction")]
async Task AddFreeTokensCreditAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeFreeTokensCreditTransaction(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add Deposit Account Transaction")]
async Task AddDepositAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeDeposit(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add Withdraw Account Transaction")]
async Task AddWithdrawAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeWithdraw(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add PublishKnok Account Transaction")]
async Task AddPublishKnokAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokePublishKnok(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add KnokerWinsToken Account Transaction")]
async Task AddKnokerWinsTokenAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeKnokerWinsToken(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add PlatformWinsToken Account Transaction")]
async Task AddPlatformWinsTokenAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokePlatformWinsToken(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserBuyExposure Account Transaction")]
async Task AddUserBuyExposureAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserBuyExposure(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserBuyKnok Account Transaction")]
async Task AddUserBuyKnokAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserBuyKnok(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserRefundToken Account Transaction")]
async Task AddUserRefundTokenAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserRefundToken(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserBuySideBet Account Transaction")]
async Task AddUserBuySideBetAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserBuySideBet(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserWinsSideBet Account Transaction")]
async Task AddUserWinsSideBetAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserWinsSideBet(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add PlatformLooseSideBet Account Transaction")]
async Task AddPlatformLooseSideBetAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokePlatformLooseSideBet(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserReceiveToken Account Transaction")]
async Task AddUserReceiveTokenAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserReceiveToken(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add UserUpgradeToGold Account Transaction")]
async Task AddUserUpgradeToGoldAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeUserUpgradeToGold(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add AffiliateCommision Account Transaction")]
async Task AddAffiliateCommisionAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeAffiliateCommision(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
[Fact(DisplayName = "Add FreeTokensReturn Account Transaction")]
async Task AddFreeTokensReturnAccountTransaction()
{
await ApiClient.AuthorizeApiConsumer();
var operatorRes = (await ApiClient.InvokeCreateOperator(GetCreateOperatorArgs(true))).Object;
var createUserArgs = GetCreateUserArgs();
var user = (await ApiClient.InvokeCreateUser(createUserArgs)).Object;
await ApiClient.AuthorizeApiUser(createUserArgs.Email, createUserArgs.Password);
var userAccounts = (await ApiClient.InvokeUserAccounts()).Object;
Assert.Equal(user.FirstName, userAccounts.User.FirstName);
Assert.NotEmpty(userAccounts.Accounts);
var transRes = (await ApiClient.InvokeFreeTokensReturn(GetAddAccountTransactionArgs(user.UserId, userAccounts.Accounts.FirstOrDefault().AccountId, operatorRes.OperatorId))).Object;
Assert.NotEqual(0, transRes.TransId);
}
}
}