mirror of
https://github.com/haveno-dex/haveno-ts.git
synced 2024-12-27 00:09:40 -05:00
test higher sell limit
This commit is contained in:
parent
35c0cf9301
commit
36742991ee
@ -1240,9 +1240,9 @@ test("Can create fiat payment accounts (CI)", async () => {
|
|||||||
const accountForm = await user1.getPaymentAccountForm(paymentMethodId);
|
const accountForm = await user1.getPaymentAccountForm(paymentMethodId);
|
||||||
|
|
||||||
// edit form
|
// edit form
|
||||||
HavenoUtils.setFormValue(PaymentAccountFormField.FieldId.ACCOUNT_NAME, "Revolut account " + moneroTs.GenUtils.getUUID(), accountForm);
|
HavenoUtils.setFormValue(accountForm, PaymentAccountFormField.FieldId.ACCOUNT_NAME, "Revolut account " + moneroTs.GenUtils.getUUID());
|
||||||
HavenoUtils.setFormValue(PaymentAccountFormField.FieldId.USER_NAME, "user123", accountForm);
|
HavenoUtils.setFormValue(accountForm, PaymentAccountFormField.FieldId.USER_NAME, "user123");
|
||||||
HavenoUtils.setFormValue(PaymentAccountFormField.FieldId.TRADE_CURRENCIES, "gbp,eur,usd", accountForm);
|
HavenoUtils.setFormValue(accountForm, PaymentAccountFormField.FieldId.TRADE_CURRENCIES, "gbp,eur,usd");
|
||||||
|
|
||||||
// create payment account
|
// create payment account
|
||||||
const fiatAccount = await user1.createPaymentAccount(accountForm);
|
const fiatAccount = await user1.createPaymentAccount(accountForm);
|
||||||
@ -1492,13 +1492,45 @@ test("Can reserve exact amount needed for offer (CI)", async () => {
|
|||||||
|
|
||||||
test("Cannot post offer exceeding trade limit (CI, sanity check)", async () => {
|
test("Cannot post offer exceeding trade limit (CI, sanity check)", async () => {
|
||||||
let assetCode = "USD";
|
let assetCode = "USD";
|
||||||
const account = await createPaymentAccount(user1, assetCode);
|
const account = await createPaymentAccount(user1, assetCode, "zelle");
|
||||||
|
|
||||||
|
// test posting buy offer above limit
|
||||||
try {
|
try {
|
||||||
await executeTrade({offerAmount: BigInt("2600000000000"), assetCode: assetCode, makerPaymentAccountId: account.getId(), takeOffer: false});
|
await executeTrade({
|
||||||
|
offerAmount: BigInt("2100000000000"),
|
||||||
|
direction: "BUY",
|
||||||
|
assetCode: assetCode,
|
||||||
|
makerPaymentAccountId: account.getId(),
|
||||||
|
takeOffer: false
|
||||||
|
});
|
||||||
throw new Error("Should have rejected posting offer above trade limit")
|
throw new Error("Should have rejected posting offer above trade limit")
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
assert(err.message.indexOf("amount is larger than") === 0);
|
assert(err.message.indexOf("amount is larger than") === 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// test posting sell offer above limit
|
||||||
|
try {
|
||||||
|
await executeTrade({
|
||||||
|
offerAmount: BigInt("2600000000000"),
|
||||||
|
direction: "SELL",
|
||||||
|
assetCode: assetCode,
|
||||||
|
makerPaymentAccountId: account.getId(),
|
||||||
|
takeOffer: false
|
||||||
|
});
|
||||||
|
throw new Error("Should have rejected posting offer above trade limit")
|
||||||
|
} catch (err) {
|
||||||
|
assert(err.message.indexOf("amount is larger than") === 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// test that sell limit is higher than buy limit
|
||||||
|
let offerId = await executeTrade({
|
||||||
|
offerAmount: BigInt("2100000000000"),
|
||||||
|
direction: "SELL",
|
||||||
|
assetCode: assetCode,
|
||||||
|
makerPaymentAccountId: account.getId(),
|
||||||
|
takeOffer: false
|
||||||
|
});
|
||||||
|
await user1.removeOffer(offerId);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Can complete a trade within a range", async () => {
|
test("Can complete a trade within a range", async () => {
|
||||||
@ -3580,7 +3612,7 @@ async function createPaymentAccount(trader: HavenoClient, assetCodes: string, pa
|
|||||||
if (!paymentMethodId) paymentMethodId = isCrypto(assetCodes!) ? PaymentAccountForm.FormId.BLOCK_CHAINS : PaymentAccountForm.FormId.PAY_BY_MAIL;
|
if (!paymentMethodId) paymentMethodId = isCrypto(assetCodes!) ? PaymentAccountForm.FormId.BLOCK_CHAINS : PaymentAccountForm.FormId.PAY_BY_MAIL;
|
||||||
const accountForm = await trader.getPaymentAccountForm(paymentMethodId);
|
const accountForm = await trader.getPaymentAccountForm(paymentMethodId);
|
||||||
for (const field of accountForm.getFieldsList()) field.setValue(getValidFormInput(accountForm, field.getId()));
|
for (const field of accountForm.getFieldsList()) field.setValue(getValidFormInput(accountForm, field.getId()));
|
||||||
HavenoUtils.setFormValue(PaymentAccountFormField.FieldId.TRADE_CURRENCIES, assetCodes, accountForm);
|
if (HavenoUtils.hasFormField(accountForm, PaymentAccountFormField.FieldId.TRADE_CURRENCIES)) HavenoUtils.setFormValue(accountForm, PaymentAccountFormField.FieldId.TRADE_CURRENCIES, assetCodes);
|
||||||
return await trader.createPaymentAccount(accountForm);
|
return await trader.createPaymentAccount(accountForm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +179,20 @@ export default class HavenoUtils {
|
|||||||
return str.trim();
|
return str.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if a form has a field.
|
||||||
|
*
|
||||||
|
* @param {PaymentAccountForm} form - form to check
|
||||||
|
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to check for
|
||||||
|
* @return {boolean} true if the form has the field, false otherwise
|
||||||
|
*/
|
||||||
|
static hasFormField(form: PaymentAccountForm, fieldId: PaymentAccountFormField.FieldId): boolean {
|
||||||
|
for (const field of form.getFieldsList()) {
|
||||||
|
if (field.getId() === fieldId) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a form field value.
|
* Get a form field value.
|
||||||
*
|
*
|
||||||
@ -197,12 +211,12 @@ export default class HavenoUtils {
|
|||||||
/**
|
/**
|
||||||
* Set a form field value.
|
* Set a form field value.
|
||||||
*
|
*
|
||||||
|
* @param {PaymentAccountForm} form - form to get the field from
|
||||||
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to set the value of
|
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to set the value of
|
||||||
* @param {string} value - field value to set
|
* @param {string} value - field value to set
|
||||||
* @param {PaymentAccountForm} form - form to get the field from
|
|
||||||
* @return {string} the form field value
|
* @return {string} the form field value
|
||||||
*/
|
*/
|
||||||
static setFormValue(fieldId: PaymentAccountFormField.FieldId, value: string, form: PaymentAccountForm): void {
|
static setFormValue(form: PaymentAccountForm, fieldId: PaymentAccountFormField.FieldId, value: string): void {
|
||||||
for (const field of form.getFieldsList()) {
|
for (const field of form.getFieldsList()) {
|
||||||
if (field.getId() === fieldId) {
|
if (field.getId() === fieldId) {
|
||||||
field.setValue(value);
|
field.setValue(value);
|
||||||
|
Loading…
Reference in New Issue
Block a user