describe('VnInput Component', () => {
    beforeEach(() => {
        cy.login('developer');
        cy.viewport(1920, 1080);
        cy.visit('/#/supplier/1/fiscal-data');
        cy.domContentLoad();
    });

    it('should replace character at cursor position in insert mode', () => {
        // Simula escribir en el input
        cy.dataCy('supplierFiscalDataAccount').clear();
        cy.dataCy('supplierFiscalDataAccount').type('4100000001');
        // Coloca el cursor en la posición 0
        cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
        // Escribe un número y verifica que se reemplace correctamente
        cy.dataCy('supplierFiscalDataAccount').type('999');
        cy.dataCy('supplierFiscalDataAccount')
        .should('have.value', '9990000001');
    });

    it('should replace character at cursor position in insert mode', () => {
        // Simula escribir en el input
        cy.dataCy('supplierFiscalDataAccount').clear();
        cy.dataCy('supplierFiscalDataAccount').type('4100000001');
        // Coloca el cursor en la posición 0
        cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
        // Escribe un número y verifica que se reemplace correctamente en la posicion incial
        cy.dataCy('supplierFiscalDataAccount').type('999');
        cy.dataCy('supplierFiscalDataAccount')
        .should('have.value', '9990000001');
    });

    it('should respect maxlength prop', () => {
        cy.dataCy('supplierFiscalDataAccount').clear();
        cy.dataCy('supplierFiscalDataAccount').type('123456789012345');
        cy.dataCy('supplierFiscalDataAccount')
        .should('have.value', '1234567890'); // asumiendo que maxlength es 10
    });
});