// SPDX-License-Identifier: Apache-2.0
import { RemoteConfigSchemaDefinition } from '../../../../../../../src/data/schema/migration/impl/remote/remote-config-schema-definition.js';
import { RemoteConfigV1Migration } from '../../../../../../../src/data/schema/migration/impl/remote/remote-config-v1-migration.js';
import { expect } from 'chai';
import { RemoteConfigSchema } from '../../../../../../../src/data/schema/model/remote/remote-config-schema.js';
describe('RemoteConfigSchema', () => {
    let objectMapper;
    beforeEach(() => {
        // Mock ObjectMapper (can be a simple object as long as it's not used in logic)
        objectMapper = {};
    });
    it('should instantiate without error', () => {
        expect(() => new RemoteConfigSchemaDefinition(objectMapper)).not.to.throw();
    });
    it('should return the correct name', () => {
        const schema = new RemoteConfigSchemaDefinition(objectMapper);
        expect(schema.name).to.be.equal('RemoteConfigSchema');
    });
    it('should return the correct version', () => {
        const schema = new RemoteConfigSchemaDefinition(objectMapper);
        expect(schema.version).equal(RemoteConfigSchema.SCHEMA_VERSION);
    });
    it('should return the correct classConstructor', () => {
        const schema = new RemoteConfigSchemaDefinition(objectMapper);
        expect(schema.classConstructor).equal(RemoteConfigSchema);
    });
    it('should return a migrations array containing RemoteConfigV1Migration', () => {
        const schema = new RemoteConfigSchemaDefinition(objectMapper);
        const migrations = schema.migrations;
        expect(Array.isArray(migrations)).equal(true);
        expect(migrations.length).equal(4);
        expect(migrations[0]).instanceOf(RemoteConfigV1Migration);
    });
});
//# sourceMappingURL=remote-config-schema.test.js.map