383 lines
7.9 KiB
PowerShell
383 lines
7.9 KiB
PowerShell
# CryptoPay Tests
|
|
function TestCryptoPayDeposit {
|
|
$request = @{
|
|
amount=200
|
|
currency="ETB"
|
|
crypto_currency="USDT"
|
|
}
|
|
fortune call POST "cryptopay/deposit" -Body $request -Tenant
|
|
}
|
|
function TestCryptoPayWithdraw {
|
|
param(
|
|
[string]$address
|
|
)
|
|
$request = @{
|
|
address=$address
|
|
amount=200
|
|
currency="ETB"
|
|
crypto_currency="USDT"
|
|
}
|
|
fortune call POST "cryptopay/withdrawal" -Body $request -Tenant
|
|
}
|
|
# Chapa Tests
|
|
function TestChapaDeposit {
|
|
$request = @{
|
|
amount=200
|
|
}
|
|
fortune call POST "chapa/payments/deposit" -Body $request
|
|
}
|
|
|
|
function TestChapaBanks {
|
|
fortune call GET "chapa/banks"
|
|
}
|
|
|
|
function TestChapaWithdraw {
|
|
$request = @{
|
|
account_name="Samuel Tariku"
|
|
account_number="0946685511"
|
|
amount="200"
|
|
reference="1"
|
|
bank_code=128 #CBEBirr
|
|
}
|
|
fortune call POST "chapa/payments/withdraw" -Body $request
|
|
}
|
|
|
|
# Arifpay Tests
|
|
function TestArifPayDeposit {
|
|
$request = @{
|
|
amount=200
|
|
customerEmail="samueltarikufantaye@gmail.com"
|
|
customerPhone="0946685511"
|
|
}
|
|
fortune call POST "arifpay/checkout" -Body $request
|
|
}
|
|
|
|
# function TestARIFCheckout {
|
|
# $request = @{
|
|
# cancelUrl="https://example1.com"
|
|
# phone="251922655097"
|
|
# email="Ex@gmail.net"
|
|
# nonce="251assaddsasad93554asdasd8208sawas"
|
|
# errorUrl="http://error.com"
|
|
# notifyUrl="https://664db983ede9a2b5565497ee.mockapi.io/user"
|
|
# successUrl="http://example.com"
|
|
# paymentMethods=
|
|
# expireDate=
|
|
# items=
|
|
# beneficiaries=
|
|
# lang=
|
|
#
|
|
# }
|
|
# }
|
|
|
|
#
|
|
# Testing Direct Deposit
|
|
#
|
|
function CreateDirectDeposit {
|
|
$deposit = @{
|
|
bank_name="cbe"
|
|
sender_account_number="123456789"
|
|
sender_account_holder="Samuel Tariku"
|
|
receiver_account_number="123456789"
|
|
receiver_account_holder="Fortune Admin"
|
|
amount=1000.0
|
|
reference_number="123456"
|
|
}
|
|
fortune call POST "direct-deposits" -Tenant -Body $deposit
|
|
}
|
|
function GetAllDirectDeposits {
|
|
fortune call GET "direct-deposits?status=PENDING" | less
|
|
}
|
|
|
|
function ApproveDirectDeposit {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call POST "direct-deposits/$id/approve" | less
|
|
}
|
|
|
|
|
|
function RejectDirectDeposit {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
|
|
$reject = @{
|
|
reason="Incorrect account number"
|
|
}
|
|
fortune call POST "direct-deposits/$id/reject" -Body $reject | less
|
|
}
|
|
|
|
#
|
|
# Testing Super Admin Bank
|
|
#
|
|
|
|
function CreateBank {
|
|
$bank = @{
|
|
swift="CBETTA"
|
|
name="Commerical Bank Of Ethiopia"
|
|
acct_length=10
|
|
country_code="et"
|
|
}
|
|
fortune call POST "bank" -Body $bank
|
|
}
|
|
|
|
function GetAllBanks {
|
|
fortune call GET "bank" | less
|
|
}
|
|
function GetBankByID {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call GET "banks/$id" | less
|
|
}
|
|
function DeleteBank {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call DELETE "banks/$id" | less
|
|
}
|
|
#
|
|
#Testing Direct Deposit Bank
|
|
#
|
|
|
|
function CreateDDBank {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
$bank = @{
|
|
company_id=1
|
|
bank_id=$id
|
|
interval=1
|
|
is_cycle=$true
|
|
}
|
|
fortune call POST "direct-deposit-bank" -Body $bank
|
|
}
|
|
|
|
function GetAllDDBanks {
|
|
fortune call GET "direct-deposit-bank" | less
|
|
}
|
|
function GetDDBankByID {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call GET "direct-deposit-bank/$id" | less
|
|
}
|
|
function ManuallyCycleBank {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call POST "direct-deposit-bank/$id/cycle" | less
|
|
}
|
|
function DeleteDDBank {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call DELETE "direct-deposit-bank/$id" | less
|
|
}
|
|
|
|
# Testing Direct Deposit Account
|
|
#
|
|
function CreateDDAccount {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
$account = @{
|
|
dd_bank_id=$id
|
|
account_number="1234567"
|
|
account_holder="Fortune Admin"
|
|
}
|
|
fortune call POST "direct-deposit-account" -Body $account
|
|
}
|
|
function GetDDAccountForBank {
|
|
param(
|
|
[Int64]$id
|
|
)
|
|
fortune call GET "direct-deposit-bank/$id/accounts" | less
|
|
}
|
|
|
|
|
|
function GetVirtualGameProviders {
|
|
fortune call GET "virtual-game/orchestrator/providers"
|
|
}
|
|
function GetVirtualGameList {
|
|
fortune call GET "virtual-game/orchestrator/games?providerID=veliplay"
|
|
}
|
|
|
|
function StartVeliGameDemo {
|
|
param(
|
|
[Int64]$gameID,
|
|
[string]$providerID
|
|
)
|
|
|
|
$gameData = @{
|
|
providerId=$providerID
|
|
gameId=$gameID
|
|
language="en"
|
|
deviceType= "DESKTOP"
|
|
brandId="fortune_bets"
|
|
}
|
|
|
|
fortune call POST "veli/start-demo-game" -Body $gameData
|
|
}
|
|
|
|
|
|
function GetLeagues {
|
|
fortune call GET "leagues" -Tenant
|
|
}
|
|
|
|
function GetEvents {
|
|
fortune call GET "upcoming-events" -Tenant
|
|
}
|
|
function GetOdds {
|
|
param(
|
|
[Int64]$eventID
|
|
)
|
|
fortune call GET "odds/upcoming/${eventID}" -Tenant
|
|
}
|
|
|
|
function GetOdds {
|
|
param(
|
|
[Int64]$eventID
|
|
)
|
|
fortune call GET "odds/upcoming/${eventID}" -Tenant
|
|
}
|
|
|
|
function Select-Event {
|
|
param ($Events)
|
|
|
|
$selection = $Events |
|
|
ForEach-Object {
|
|
"$($_.id),$($_.match_name),$($_.league_name),$($_.start_time)"
|
|
} |
|
|
fzf --delimiter=',' --with-nth=2,3,4
|
|
|
|
if ($selection) {
|
|
$selectedId = ($selection -split ",")[0]
|
|
return $Events | Where-Object { $_.id -eq [int]$selectedId }
|
|
}
|
|
}
|
|
# @{id=29169722; event_id=1732385; market_type=winning_margin; market_name=Winning Margin; market_category=others; market_id=56; number_of_outcomes=10; raw_odds=System.Object[]; fetched_at=12/9/2025 04:15:38; expires_at=12/9/2025 05:15:38; is_active=True}
|
|
function Select-Odd {
|
|
param ($Odds)
|
|
$selection = $Odds | ForEach-Object {
|
|
"$($_.id),$($_.market_name)"
|
|
} | fzf --delimiter=',' --with-nth=2
|
|
|
|
if ($selection) {
|
|
$selectedId = ($selection -split ",")[0]
|
|
return $Odds | Where-Object { $_.id -eq [int]$selectedId }
|
|
}
|
|
}
|
|
|
|
#@{id=4967715; name=1; odds=1.500} @{id=4967716; name=Draw; odds=4.000} @{id=4967717; name=2; odds=5.500}
|
|
#@{id=4967741; odds=1.925; header=1; handicap=-1.0} @{id=4967746; odds=1.875; header=2; handicap=+1.0}
|
|
function Select-RawOdd {
|
|
param ($Odds)
|
|
$selection = $Odds | ForEach-Object {
|
|
"$($_.id),$($_.name),$($_.header),$($_.handicap),"
|
|
} | fzf --delimiter=',' --with-nth=2,3,4
|
|
|
|
if ($selection) {
|
|
$selectedId = ($selection -split ",")[0]
|
|
return $Odds | Where-Object { $_.id -eq [int]$selectedId }
|
|
}
|
|
}
|
|
|
|
function EventOddPipe {
|
|
$events = GetEvents | ConvertFrom-Json
|
|
$selectedEvent = Select-Event $events.data
|
|
Write-Host $selectedEvent.id
|
|
$odds = GetOdds $selectedEvent.id | ConvertFrom-Json
|
|
$selectedOdd = Select-Odd $odds.data
|
|
#Write-Host $selectedOdd.raw_odds
|
|
$selectedRawOdd = Select-RawOdd $selectedOdd.raw_odds
|
|
Write-Host $selectedRawOdd
|
|
|
|
return @{
|
|
selectedEvent=$selectedEvent
|
|
selectedOdd=$selectedOdd
|
|
selectedRawOdd=$selectedRawOdd
|
|
}
|
|
}
|
|
# Create Bet
|
|
function CreateBet {
|
|
|
|
$eventOdd = EventOddPipe
|
|
|
|
Write-Host $eventOdd
|
|
|
|
$req = @{
|
|
outcomes = @(
|
|
@{
|
|
event_id=[int64]$eventOdd.selectedEvent.id
|
|
odd_id=[int64]$eventOdd.selectedRawOdd.id
|
|
market_id=[int64]$eventOdd.selectedOdd.market_id
|
|
}
|
|
)
|
|
amount=30.0
|
|
}
|
|
fortune call POST "sport/bet" -Tenant -Body $req
|
|
}
|
|
# Login Tests
|
|
function LoginClient{
|
|
fortune login -Email john.doe@example.com -Password password@123
|
|
}
|
|
function LoginAdmin{
|
|
fortune login-admin -Email test.admin@gmail.com -Password NLd3m6taW71H
|
|
}
|
|
function LoginSuper{
|
|
fortune login-super -Email cybersamt@gmail.com -Password H6xW6pe1w8ys
|
|
}
|
|
|
|
# Register Tasks
|
|
function Register {
|
|
param(
|
|
[string]$otp
|
|
)
|
|
$req = @{
|
|
first_name="Samuel"
|
|
last_name="Tariku"
|
|
phone_number="+251900000002"
|
|
password="password@123"
|
|
otp=$otp
|
|
referral_code=""
|
|
}
|
|
fortune call POST "user/register" -Tenant $req
|
|
}
|
|
|
|
function SendRegisterOTP {
|
|
$req = @{
|
|
phone_number="+251900000002"
|
|
}
|
|
fortune call POST "user/sendRegisterCode" -Tenant $req
|
|
}
|
|
|
|
function Main {
|
|
$scriptPath = $PSCommandPath
|
|
|
|
$functions = Get-ChildItem Function: |
|
|
Where-Object {
|
|
$_.ScriptBlock.File -eq $scriptPath -and
|
|
$_.Name -ne "Main"
|
|
} |
|
|
Select-Object -ExpandProperty Name |
|
|
Sort-Object
|
|
|
|
$fn = $functions | fzf --prompt="Select action > "
|
|
if (-not $fn) {
|
|
return
|
|
}
|
|
|
|
$command = Get-Command $fn
|
|
$params = @{}
|
|
|
|
foreach ($p in $command.Parameters.Values) {
|
|
$params[$p.Name] = Read-Host "Enter $($p.Name)"
|
|
}
|
|
|
|
& $fn @params
|
|
}
|
|
|
|
Main
|