diff --git a/packages/rs-dpp/src/document/document_factory.rs b/packages/rs-dpp/src/document/document_factory.rs index b91338132a9..aa1c99e46cc 100644 --- a/packages/rs-dpp/src/document/document_factory.rs +++ b/packages/rs-dpp/src/document/document_factory.rs @@ -1,11 +1,13 @@ use anyhow::Context; use chrono::Utc; -use std::collections::BTreeMap; +use std::collections::{BTreeMap, HashSet}; use itertools::Itertools; -use platform_value::{Bytes32, Value}; - +use platform_value::btreemap_extensions::BTreeValueMapReplacementPathHelper; +use platform_value::{Bytes32, ReplacementType, Value}; +use rand::rngs::StdRng; +use rand::SeedableRng; use serde::{Deserialize, Serialize}; use crate::consensus::basic::document::InvalidDocumentTypeError; @@ -157,7 +159,7 @@ where (None, None) }; - let document = Document { + let mut document = Document { id: document_id, owner_id, properties: data @@ -168,6 +170,13 @@ where updated_at, }; + let (identifiers, _): (HashSet<_>, HashSet<_>) = + data_contract.get_identifiers_and_binary_paths_owned(document_type_name.as_str())?; + + document + .properties + .replace_at_paths(identifiers, ReplacementType::Identifier)?; + // let json_value = document.to_json_with_identifiers_using_bytes()?; // let validation_result = // self.document_validator diff --git a/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js b/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js new file mode 100644 index 00000000000..0088e2820c1 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getChainAssetLockProofFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getDashPayContractFixture.js b/packages/wasm-dpp/lib/test/fixtures/getDashPayContractFixture.js new file mode 100644 index 00000000000..a9651087855 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getDashPayContractFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getDashPayContractFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getDashPayDocumentFixture.js b/packages/wasm-dpp/lib/test/fixtures/getDashPayDocumentFixture.js new file mode 100644 index 00000000000..93a1c0efa52 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getDashPayDocumentFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getDashPayDocumentFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getDocumentTransitionsFixture.js b/packages/wasm-dpp/lib/test/fixtures/getDocumentTransitionsFixture.js new file mode 100644 index 00000000000..3f59e19133e --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getDocumentTransitionsFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getDpnsContractFixture.js b/packages/wasm-dpp/lib/test/fixtures/getDpnsContractFixture.js new file mode 100644 index 00000000000..a54a3e120c6 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getDpnsContractFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getDpnsDocumentFixture.js b/packages/wasm-dpp/lib/test/fixtures/getDpnsDocumentFixture.js new file mode 100644 index 00000000000..2c87027b3b6 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getDpnsDocumentFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getDpnsDocumentFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getFeatureFlagsContractFixture.js b/packages/wasm-dpp/lib/test/fixtures/getFeatureFlagsContractFixture.js new file mode 100644 index 00000000000..e2f293ed89b --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getFeatureFlagsContractFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getFeatureFlagsContractFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getFeatureFlagsDocumentsFixture.js b/packages/wasm-dpp/lib/test/fixtures/getFeatureFlagsDocumentsFixture.js new file mode 100644 index 00000000000..7b1c334ca04 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getFeatureFlagsDocumentsFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getFeatureFlagsDocumentsFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture.js b/packages/wasm-dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture.js new file mode 100644 index 00000000000..226b6f3fcff --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture.js b/packages/wasm-dpp/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture.js new file mode 100644 index 00000000000..7565dd3c1e2 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getMasternodeRewardSharesContractFixture.js b/packages/wasm-dpp/lib/test/fixtures/getMasternodeRewardSharesContractFixture.js new file mode 100644 index 00000000000..6b69b46e467 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getMasternodeRewardSharesContractFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getMasternodeRewardSharesContractFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getPreorderDocumentFixture.js b/packages/wasm-dpp/lib/test/fixtures/getPreorderDocumentFixture.js new file mode 100644 index 00000000000..f154917cb75 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getPreorderDocumentFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getPreorderDocumentFixture'); diff --git a/packages/wasm-dpp/lib/test/fixtures/getRawTransactionFixture.js b/packages/wasm-dpp/lib/test/fixtures/getRawTransactionFixture.js new file mode 100644 index 00000000000..8d1ca0cd233 --- /dev/null +++ b/packages/wasm-dpp/lib/test/fixtures/getRawTransactionFixture.js @@ -0,0 +1 @@ +module.exports = require('@dashevo/dpp/lib/test/fixtures/getRawTransactionFixture'); diff --git a/packages/wasm-dpp/test/integration/document/Document.spec.js b/packages/wasm-dpp/test/integration/document/Document.spec.js index e246e31c238..f9dc489e2a1 100644 --- a/packages/wasm-dpp/test/integration/document/Document.spec.js +++ b/packages/wasm-dpp/test/integration/document/Document.spec.js @@ -1,12 +1,8 @@ -const MetadataJs = require('@dashevo/dpp/lib/Metadata'); - -const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture'); -const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture'); +const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture'); +const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture'); const { default: loadWasmDpp } = require('../../../dist'); -let ExtendedDocument; -let DataContract; let Metadata; let Identifier; @@ -17,24 +13,14 @@ describe('ExtendedDocument', () => { beforeEach(async () => { ({ - ExtendedDocument, - DataContract, Metadata, Identifier, } = await loadWasmDpp()); - const dataContractJs = getDataContractFixture(); - dataContract = new DataContract(dataContractJs.toObject()); - - const [documentJs] = getDocumentsFixture(dataContractJs).slice(8); - document = new ExtendedDocument(documentJs.toObject(), dataContract); + dataContract = await getDataContractFixture(); - const metadataFixtureJs = new MetadataJs({ - blockHeight: 42, - coreChainLockedHeight: 0, - timeMs: new Date().getTime(), - protocolVersion: 1, - }); + const documents = await getDocumentsFixture(dataContract); + [document] = documents.slice(8); metadataFixture = Metadata.from({ blockHeight: 42, @@ -43,20 +29,18 @@ describe('ExtendedDocument', () => { protocolVersion: 1, }); - documentJs.setMetadata(metadataFixtureJs); document.setMetadata(metadataFixture); }); describe('#toJSON', () => { it('should return json document - Rust', () => { - console.log(document); const result = document.toJSON(); expect(result).to.deep.equal({ $protocolVersion: document.getProtocolVersion(), $dataContractId: dataContract.getId().toString(), $id: document.getId().toString(), - $ownerId: getDocumentsFixture.ownerId.toString(), + $ownerId: document.getOwnerId().toString(), $revision: 1, $type: 'withByteArrays', byteArrayField: document.get('byteArrayField').toString('base64'), @@ -69,11 +53,13 @@ describe('ExtendedDocument', () => { it('should return raw document - Rust', () => { const result = document.toObject(); + console.log(document.get('byteArrayField')); + expect(result).to.deep.equal({ $protocolVersion: document.getProtocolVersion(), $dataContractId: dataContract.getId().toBuffer(), $id: document.getId().toBuffer(), - $ownerId: getDocumentsFixture.ownerId, + $ownerId: document.getOwnerId().toBuffer(), $revision: 1, $type: 'withByteArrays', byteArrayField: document.get('byteArrayField'), @@ -91,7 +77,7 @@ describe('ExtendedDocument', () => { expect(result.$dataContractId.toBuffer()).to.deep.equal(dataContract.getId().toBuffer()); expect(result.$id.toBuffer()).to.deep.equal(document.getId().toBuffer()); - expect(result.$ownerId.toBuffer()).to.deep.equal(getDocumentsFixture.ownerId.toBuffer()); + expect(result.$ownerId.toBuffer()).to.deep.equal(document.getOwnerId().toBuffer()); expect(result.identifierField.toBuffer()).to.deep.equal(document.get('identifierField').toBuffer()); expect(result.$protocolVersion).to.deep.equal(document.getProtocolVersion()); expect(result.$revision).to.deep.equal(document.getRevision()); diff --git a/packages/wasm-dpp/test/integration/document/DocumentFacade.spec.js b/packages/wasm-dpp/test/integration/document/DocumentFacade.spec.js index a1af9e32b65..860f8c20f29 100644 --- a/packages/wasm-dpp/test/integration/document/DocumentFacade.spec.js +++ b/packages/wasm-dpp/test/integration/document/DocumentFacade.spec.js @@ -2,7 +2,7 @@ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRa const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture'); const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture'); -const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture'); +const getDocumentTransitionsFixture = require('../../../lib/test/fixtures/getDocumentTransitionsFixture'); const { default: loadWasmDpp } = require('../../../dist'); const getBlsAdapterMock = require('../../../lib/test/mocks/getBlsAdapterMock'); diff --git a/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js b/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js index fb490ffb75b..261a2efa2b4 100644 --- a/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +++ b/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js @@ -1,8 +1,8 @@ const { PrivateKey } = require('@dashevo/dashcore-lib'); +const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture'); -const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); const { expectValidationError, expectJsonSchemaError } = require('../../../../../../../lib/test/expect/expectError'); const { default: loadWasmDpp } = require('../../../../../../../dist'); const getBlsAdapterMock = require('../../../../../../../lib/test/mocks/getBlsAdapterMock'); diff --git a/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js b/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js index 0dd570c89d8..ce51b8d3a1b 100644 --- a/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +++ b/packages/wasm-dpp/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js @@ -1,6 +1,6 @@ -const getIdentityTopUpTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture'); - const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); +const getIdentityTopUpTransitionFixture = require('../../../../../../../lib/test/fixtures/getIdentityTopUpTransitionFixture'); + const { expectJsonSchemaError, expectValidationError, diff --git a/packages/wasm-dpp/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js b/packages/wasm-dpp/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js index c695d7214ce..2df79bb7291 100644 --- a/packages/wasm-dpp/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +++ b/packages/wasm-dpp/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js @@ -7,9 +7,9 @@ const DataTriggerConditionError = require('@dashevo/dpp/lib/errors/consensus/sta const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); const getDocumentTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture'); -const getDashPayContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDashPayContractFixture'); -const { getContactRequestDocumentFixture } = require('@dashevo/dpp/lib/test/fixtures/getDashPayDocumentFixture'); const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext'); +const getDashPayContractFixture = require('../../../../lib/test/fixtures/getDashPayContractFixture'); +const { getContactRequestDocumentFixture } = require('../../../../lib/test/fixtures/getDashPayDocumentFixture'); describe('createContactRequestDataTrigger', () => { let context; diff --git a/packages/wasm-dpp/test/unit/document/DocumentFactory.spec.js b/packages/wasm-dpp/test/unit/document/DocumentFactory.spec.js index 2fba0cfee9b..22177e253b0 100644 --- a/packages/wasm-dpp/test/unit/document/DocumentFactory.spec.js +++ b/packages/wasm-dpp/test/unit/document/DocumentFactory.spec.js @@ -1,12 +1,12 @@ const bs58 = require('bs58'); const DocumentCreateTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/documentTransition/DocumentCreateTransition'); -const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture'); -const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture'); const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult'); const createDPPMock = require('@dashevo/dpp/lib/test/mocks/createDPPMock'); const DocumentFactoryJS = require('@dashevo/dpp/lib/document/DocumentFactory'); +const getDataContractFixtureJs = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture'); +const getDocumentsFixtureJs = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture'); const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock'); const generateRandomIdentifierAsync = require('../../../lib/test/utils/generateRandomIdentifierAsync'); @@ -62,15 +62,15 @@ describe('DocumentFactory', () => { const protocolValidator = new ProtocolVersionValidator(); documentValidator = new DocumentValidator(protocolValidator); - ({ ownerId: ownerIdJs } = getDocumentsFixture); + ([{ ownerId: ownerIdJs }] = getDocumentsFixtureJs()); ownerId = Identifier.from(ownerIdJs); - dataContractJs = getDataContractFixture(); + dataContractJs = getDataContractFixtureJs(); dataContract = DataContract.fromBuffer(dataContractJs.toBuffer()); const dc = DataContract.fromBuffer(dataContractJs.toBuffer()); dataContractId = dataContractJs.getId().toBuffer(); - documentsJs = getDocumentsFixture(dataContractJs); + documentsJs = getDocumentsFixtureJs(dataContractJs); documents = documentsJs.map((d) => { const doc = new ExtendedDocument(d.toObject(), dataContract); doc.setEntropy(d.entropy); @@ -348,7 +348,7 @@ describe('DocumentFactory', () => { }); it('should create DocumentsBatchTransition with passed documents', async () => { - const [newDocumentJs] = getDocumentsFixture(dataContractJs); + const [newDocumentJs] = getDocumentsFixtureJs(dataContractJs); const newDocument = new ExtendedDocument(newDocumentJs.toObject(), dataContract); const stateTransition = factory.createStateTransition({ diff --git a/packages/wasm-dpp/test/unit/document/fetchAndValidateDataContractFactory.spec.js b/packages/wasm-dpp/test/unit/document/fetchAndValidateDataContractFactory.spec.js index 76ed727c4dc..8e96633bedc 100644 --- a/packages/wasm-dpp/test/unit/document/fetchAndValidateDataContractFactory.spec.js +++ b/packages/wasm-dpp/test/unit/document/fetchAndValidateDataContractFactory.spec.js @@ -1,94 +1,57 @@ -const fetchAndValidateDataContractFactory = require('@dashevo/dpp/lib/document/fetchAndValidateDataContractFactory'); +const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock'); +const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture'); +const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture'); -const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); - -const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture'); -const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture'); - -const ValidationResultJs = require('@dashevo/dpp/lib/validation/ValidationResult'); - -const MissingDataContractIdErrorJs = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDataContractIdError'); -const DataContractNotPresentErrorJs = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError'); - -const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError'); +const { expectValidationError } = require('../../../lib/test/expect/expectError'); const { default: loadWasmDpp } = require('../../../dist'); let ValidationResult; -let DataContract; +let MissingDataContractIdError; +let DataContractNotPresentError; describe('fetchAndValidateDataContractFactory', () => { - let stateRepositoryMockJs; let stateRepositoryMock; - let fetchAndValidateDataContractJs; let fetchAndValidateDataContract; let rawDocument; beforeEach(async () => { ({ - DataContract, fetchAndValidateDataContract, ValidationResult, + MissingDataContractIdError, + DataContractNotPresentError, } = await loadWasmDpp()); }); - beforeEach(function beforeEach() { - const dataContractJs = getDataContractFixture(); - const dataContract = DataContract.fromBuffer(dataContractJs.toBuffer()); + beforeEach(async function beforeEach() { + const dataContract = await getDataContractFixture(); - const [document] = getDocumentsFixture(dataContractJs); + const [document] = await getDocumentsFixture(dataContract); rawDocument = document.toObject(); - stateRepositoryMockJs = createStateRepositoryMock(this.sinonSandbox); - stateRepositoryMockJs.fetchDataContract.resolves(dataContractJs); - stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox); stateRepositoryMock.fetchDataContract.resolves(dataContract); - - fetchAndValidateDataContractJs = fetchAndValidateDataContractFactory( - stateRepositoryMockJs, - ); }); it('should return with invalid result if $dataContractId is not present', async () => { delete rawDocument.$dataContractId; - const result = await fetchAndValidateDataContractJs(rawDocument); - - expectValidationError(result, MissingDataContractIdErrorJs); - - const [error] = result.getErrors(); - - expect(error.getCode()).to.equal(1025); - }); - - it('should return with invalid result if $dataContractId is not present - Rust', async () => { - delete rawDocument.$dataContractId; - const result = await fetchAndValidateDataContract(stateRepositoryMock, rawDocument); + await expectValidationError(result, MissingDataContractIdError); + const [error] = result.getErrors(); expect(error.getCode()).to.equal(1025); }); it('should return with invalid result if Data Contract is not present', async () => { - stateRepositoryMockJs.fetchDataContract.resolves(null); - - const result = await fetchAndValidateDataContractJs(rawDocument); - - expectValidationError(result, DataContractNotPresentErrorJs); - - const [error] = result.getErrors(); - - expect(error.getCode()).to.equal(1018); - expect(error.getDataContractId()).to.deep.equal(rawDocument.$dataContractId); - }); - - it('should return with invalid result if Data Contract is not present - Rust', async () => { stateRepositoryMock.fetchDataContract.resolves(null); const result = await fetchAndValidateDataContract(stateRepositoryMock, rawDocument); + await expectValidationError(result, DataContractNotPresentError); + const [error] = result.getErrors(); expect(error.getCode()).to.equal(1018); @@ -96,13 +59,6 @@ describe('fetchAndValidateDataContractFactory', () => { }); it('should return valid result', async () => { - const result = await fetchAndValidateDataContractJs(rawDocument); - - expect(result).to.be.an.instanceOf(ValidationResultJs); - expect(result.isValid()).to.be.true(); - }); - - it('should return valid result - Rust', async () => { const result = await fetchAndValidateDataContract(stateRepositoryMock, rawDocument); expect(result).to.be.an.instanceOf(ValidationResult); diff --git a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js index d5ed97def59..2dc461dd6cf 100644 --- a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +++ b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js @@ -54,14 +54,6 @@ describe('DocumentsBatchTransition', () => { }); describe('#getProtocolVersion', () => { - it('should return the current protocol version', () => { - const result = stateTransitionJs.getProtocolVersion(); - - expect(result).to.equal(protocolVersion.latestVersion); - }); - }); - - describe('#getProtocolVersion - Rust', () => { it('should return the current protocol version', () => { const result = stateTransition.getProtocolVersion(); @@ -70,14 +62,6 @@ describe('DocumentsBatchTransition', () => { }); describe('#getType', () => { - it('should return State Transition type', () => { - const result = stateTransitionJs.getType(); - - expect(result).to.equal(stateTransitionTypes.DOCUMENTS_BATCH); - }); - }); - - describe('#getType - Rust', () => { it('should return State Transition type', () => { const result = stateTransition.getType(); @@ -87,33 +71,14 @@ describe('DocumentsBatchTransition', () => { describe('#getTransitions', () => { it('should return document transitions', () => { - const result = stateTransitionJs.getTransitions(); - - expect(result).to.equal(stateTransitionJs.transitions); - }); - }); + const result = stateTransition.getTransitions().map((t) => t.toObject()); - describe('#getTransitions - Rust', () => { - it('should return document transitions', () => { - const transitionsJs = stateTransitionJs.getTransitions().map((t) => t.toJSON()); - const transitions = stateTransition.getTransitions().map((t) => t.toJSON()); - expect(transitionsJs).to.deep.equal(transitions); + expect(result).to.deep.equal(stateTransitionJs.getTransitions().map((t) => t.toObject())); }); }); describe('#toJSON', () => { it('should return State Transition as JSON', () => { - expect(stateTransitionJs.toJSON()).to.deep.equal({ - protocolVersion: protocolVersion.latestVersion, - type: stateTransitionTypes.DOCUMENTS_BATCH, - ownerId: documentsJs[0].getOwnerId().toString(), - transitions: stateTransitionJs.getTransitions().map((d) => d.toJSON()), - signaturePublicKeyId: undefined, - signature: undefined, - }); - }); - - it('should return State Transition as JSON - Rust', () => { expect(stateTransition.toJSON()).to.deep.equal({ protocolVersion: protocolVersion.latestVersion, type: stateTransitionTypes.DOCUMENTS_BATCH, @@ -127,7 +92,7 @@ describe('DocumentsBatchTransition', () => { describe('#toObject', () => { it('should return State Transition as plain object', () => { - expect(stateTransitionJs.toObject()).to.deep.equal({ + expect(stateTransition.toObject()).to.deep.equal({ protocolVersion: protocolVersion.latestVersion, type: stateTransitionTypes.DOCUMENTS_BATCH, ownerId: documentsJs[0].getOwnerId(), @@ -136,13 +101,6 @@ describe('DocumentsBatchTransition', () => { signature: undefined, }); }); - - it('should return State Transition as plain object - Rust', () => { - const rawObject = stateTransition.toObject(); - const rawObjectJs = stateTransitionJs.toObject(); - - expect(rawObject).to.deep.equal(rawObjectJs); - }); }); describe('#toBuffer', () => { @@ -164,14 +122,6 @@ describe('DocumentsBatchTransition', () => { }); describe('#getOwnerId', () => { - it('should return owner id', async () => { - const result = stateTransitionJs.getOwnerId(); - - expect(result).to.deep.equal(getDocumentsFixture.ownerId); - }); - }); - - describe('#getOwnerId - Rust', () => { it('should return owner id', async () => { const result = stateTransition.getOwnerId(); @@ -180,16 +130,6 @@ describe('DocumentsBatchTransition', () => { }); describe('#getModifiedDataIds', () => { - it('should return ids of affected documents', () => { - const expectedIds = documentsJs.map((doc) => doc.getId()); - const result = stateTransitionJs.getModifiedDataIds(); - - expect(result.length).to.be.equal(10); - expect(result).to.be.deep.equal(expectedIds); - }); - }); - - describe('#getModifiedDataIds - Rust', () => { it('should return ids of affected documents', () => { const expectedIds = documentsJs.map((doc) => doc.getId().toBuffer()); const result = stateTransition.getModifiedDataIds().map((id) => id.toBuffer()); @@ -200,36 +140,18 @@ describe('DocumentsBatchTransition', () => { }); describe('#isDataContractStateTransition', () => { - it('should return false', () => { - expect(stateTransitionJs.isDataContractStateTransition()).to.be.false(); - }); - }); - - describe('#isDataContractStateTransition - Rust', () => { it('should return false', () => { expect(stateTransition.isDataContractStateTransition()).to.be.false(); }); }); describe('#isDocumentStateTransition', () => { - it('should return true', () => { - expect(stateTransitionJs.isDocumentStateTransition()).to.be.true(); - }); - }); - - describe('#isDocumentStateTransition - Rust', () => { it('should return true', () => { expect(stateTransition.isDocumentStateTransition()).to.be.true(); }); }); describe('#isIdentityStateTransition', () => { - it('should return false', () => { - expect(stateTransitionJs.isIdentityStateTransition()).to.be.false(); - }); - }); - - describe('#isIdentityStateTransition - Rust', () => { it('should return false', () => { expect(stateTransition.isIdentityStateTransition()).to.be.false(); }); diff --git a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js index ac0036beefa..1e7bbb4ac65 100644 --- a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +++ b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js @@ -1,4 +1,4 @@ -const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture'); +const getDocumentTransitionsFixture = require('../../../../../../lib/test/fixtures/getDocumentTransitionsFixture'); const { default: loadWasmDpp } = require('../../../../../../dist'); let DataContract; diff --git a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js index ef773982f59..b2b3849fd18 100644 --- a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +++ b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js @@ -1,4 +1,4 @@ -const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture'); +const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture'); const { default: loadWasmDpp } = require('../../../../../../../dist'); let findDuplicatesById; @@ -13,14 +13,14 @@ describe('findDuplicatesById', () => { rawDocumentTransitions = getDocumentTransitionsFixture().map((t) => t.toObject()); }); - it('should return empty array if there are no duplicated Documents - Rust', () => { + it('should return empty array if there are no duplicated Documents', () => { const result = findDuplicatesById(rawDocumentTransitions); expect(result).to.be.an('array'); expect(result).to.have.lengthOf(0); }); - it('should return duplicated Documents - Rust', () => { + it('should return duplicated Documents', () => { rawDocumentTransitions.push(rawDocumentTransitions[0]); console.dir(rawDocumentTransitions[0]); diff --git a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js index 9c81cbc432d..1101d19ee7e 100644 --- a/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +++ b/packages/wasm-dpp/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js @@ -1,10 +1,10 @@ const DocumentJs = require('@dashevo/dpp/lib/document/Document'); +const { generate: generateEntropy } = require('@dashevo/dpp/lib/util/entropyGenerator'); const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture'); const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture'); -const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture'); +const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture'); -const { generate: generateEntropy } = require('@dashevo/dpp/lib/util/entropyGenerator'); const { default: loadWasmDpp } = require('../../../../../../../dist'); let DataContract; diff --git a/packages/wasm-dpp/test/unit/identity/IdentityFactory.spec.js b/packages/wasm-dpp/test/unit/identity/IdentityFactory.spec.js index fc3c883d529..d50f8a1541e 100644 --- a/packages/wasm-dpp/test/unit/identity/IdentityFactory.spec.js +++ b/packages/wasm-dpp/test/unit/identity/IdentityFactory.spec.js @@ -1,7 +1,7 @@ -const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture'); -const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getInstantAssetLockProofFixture'); -const getChainAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture'); const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey'); +const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getInstantAssetLockProofFixture'); +const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture'); +const getChainAssetLockProofFixture = require('../../../lib/test/fixtures/getChainAssetLockProofFixture'); const { default: loadWasmDpp } = require('../../../dist'); const getBlsAdapterMock = require('../../../lib/test/mocks/getBlsAdapterMock'); diff --git a/packages/wasm-dpp/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js b/packages/wasm-dpp/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js index 53f4fbc5a4f..1ce9b8cce9e 100644 --- a/packages/wasm-dpp/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +++ b/packages/wasm-dpp/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js @@ -1,8 +1,8 @@ const { Transaction, PrivateKey, Script } = require('@dashevo/dashcore-lib'); -const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture'); const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock'); -const getIdentityTopUpTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture'); +const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture'); +const getIdentityTopUpTransitionFixture = require('../../../../lib/test/fixtures/getIdentityTopUpTransitionFixture'); const { expectValidationError } = require('../../../../lib/test/expect/expectError'); const { default: loadWasmDpp } = require('../../../../dist');