@designliquido/lincones-sqlite
Version:
Implementação de LinConEs para SQLite.
52 lines • 2.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const construtos_1 = require("../fontes/construtos");
const coluna_1 = require("../fontes/construtos/coluna");
describe('Construtos', () => {
describe('Coluna', () => {
it('toString, trivial', () => {
const coluna = new coluna_1.Coluna('nome', 'texto', undefined, true);
expect(coluna.toString()).toBe("<Coluna nome=nome tipo=TEXTO nulo=Sim>");
});
it('toString, chave primária', () => {
const coluna = new coluna_1.Coluna('nome', 'texto', undefined, false, true);
expect(coluna.toString()).toBe("<Coluna nome=nome tipo=TEXTO nulo=Não chave primária;>");
});
});
describe('ColunaEValor', () => {
it('toString, trivial', () => {
const colunaEValor = new construtos_1.ColunaEValor(new coluna_1.Coluna('nome', 'texto', undefined, false, true), new construtos_1.Literal('valor'));
expect(colunaEValor.toString()).toBe("<ColunaEValor coluna=nome valor=<Literal valor=valor tipo presumido=CARACTERES>>");
});
});
describe('Condicao', () => {
it('toString, trivial', () => {
const condicao = new construtos_1.Condicao(new coluna_1.Coluna('nome', 'texto', undefined, false, true), 'IGUAL', new construtos_1.Literal('teste'));
expect(condicao.toString()).toBe("<Condição operando esquerdo=<Coluna nome=nome tipo=TEXTO nulo=Não chave primária;> operador=IGUAL operando direito=<Literal valor=teste tipo presumido=CARACTERES>>");
});
});
describe('OperacaoAlteracaoTabela', () => {
it('construtor, tipo inválido', () => {
expect(() => {
new construtos_1.OperacaoAlteracaoTabela('INVALIDO', new coluna_1.Coluna('coluna', 'texto'));
}).toThrow('Tipo de operação de alteração de tabela inválido: INVALIDO');
});
it('toString, trivial', () => {
const operacaoAlteracaoTabela = new construtos_1.OperacaoAlteracaoTabela('ADICIONAR', new coluna_1.Coluna('nova_coluna', 'texto'));
expect(operacaoAlteracaoTabela.toString()).toBe("<OperaçãoAlteraçãoTabela tipo=ADICIONAR elemento=<Coluna nome=nova_coluna tipo=TEXTO nulo=Não>>");
});
});
describe('Restricao', () => {
it('toString, trivial', () => {
const restricao = new construtos_1.Restricao('teste_restricao', 'ÚNICA', 'teste_tabela', [
'coluna1',
'coluna2'
], 'outra_tabela', [
'coluna3',
'coluna4'
]);
expect(restricao.toString()).toBe("<Restrição nome=teste_restricao tabela=teste_tabela colunas=[coluna1, coluna2] tabela referenciada=outra_tabela colunas referenciadas=[coluna3, coluna4]>");
});
});
});
//# sourceMappingURL=construtos.test.js.map