// SPDX-License-Identifier: Apache-2.0
import { createFixture } from "../config";
import { HederaIdPropsFixture, PartitionIdFixture } from "../shared/DataFixture";
import { HederaId } from "../../../src/domain/context/shared/HederaId";
export const BalanceOfQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.targetId.as(() => new HederaId(HederaIdPropsFixture.create().value));
});
export const GetSecurityDetailsRequestFixture = createFixture((request) => {
    request.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
});
export const GetAccountBalanceRequestFixture = createFixture((request) => {
    request.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    request.targetId.as(() => new HederaId(HederaIdPropsFixture.create().value));
});
export const SetMaxSupplyRequestFixture = createFixture((request) => {
    request.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    request.maxSupply.faker((faker) => faker.number.int({ min: 1, max: 10 }).toString());
});
export const GetMaxSupplyRequestFixture = createFixture((request) => {
    request.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
});
export const CanRedeemByPartitionQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.sourceId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.partitionId.as(() => PartitionIdFixture.create().value);
    query.amount.faker((faker) => faker.number.int({ min: 1, max: 999 }));
});
export const CanTransferQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.targetId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.amount.faker((faker) => faker.number.int({ min: 1, max: 999 }));
});
export const CanTransferByPartitionQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.sourceId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.partitionId.as(() => PartitionIdFixture.create().value);
    query.targetId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.amount.faker((faker) => faker.number.int({ min: 1, max: 999 }));
});
export const GetMaxSupplyQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
});
export const GetMaxSupplyByPartitionQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.partitionId.as(() => PartitionIdFixture.create().value);
});
export const GetTotalSupplyByPartitionQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.partitionId.as(() => PartitionIdFixture.create().value);
});
export const IsOperatorQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.targetId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.operatorId.as(() => new HederaId(HederaIdPropsFixture.create().value));
});
export const IsOperatorForPartitionQueryFixture = createFixture((query) => {
    query.securityId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.targetId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.operatorId.as(() => new HederaId(HederaIdPropsFixture.create().value));
    query.partitionId.as(() => PartitionIdFixture.create().value);
});
