|
1 |
| -import { Classificacao } from "./models/classificacao"; |
2 |
| -import { SubRegiao } from "./models/sub-regiao"; |
3 |
| -import { Cidade } from "./models/cidade"; |
4 |
| -import { Cliente } from "./models/cliente"; |
5 |
| -import { MappersTableSimple } from ".."; |
6 |
| -import { DatabaseHelper, Insert } from "database-builder"; |
7 |
| -import { TestClazz } from "./models/test-clazz"; |
8 |
| -import { TestClazzRef } from "./models/test-clazz-ref"; |
9 |
| -import { Uf } from "./models/uf"; |
10 |
| -import { Regiao } from "./models/regiao"; |
| 1 | +import { Classificacao } from './models/classificacao'; |
| 2 | +import { SubRegiao } from './models/sub-regiao'; |
| 3 | +import { Cidade } from './models/cidade'; |
| 4 | +import { Cliente } from './models/cliente'; |
| 5 | +import { Database, DatabaseModule } from '..'; |
| 6 | +import { TestClazz } from './models/test-clazz'; |
| 7 | +import { Uf } from './models/uf'; |
| 8 | +import { Regiao } from './models/regiao'; |
| 9 | +import { async, TestBed } from '@angular/core/testing'; |
| 10 | +import { DatabaseMigrationService } from './provider/database-migration-service'; |
| 11 | +import { DatabaseSettingsFactory } from './factory/database-settings-factory'; |
| 12 | +import { TableMapper } from './mapper/table-mapper'; |
| 13 | +import { DatabaseCreatorFake } from './factory/database-creator-fake'; |
11 | 14 |
|
12 |
| -describe("Mapper", () => { |
| 15 | +describe('Mapper', () => { |
13 | 16 |
|
14 |
| - const mapper = new MappersTableSimple(new DatabaseHelper(), { |
15 |
| - references: false, |
16 |
| - referencesId: true, |
17 |
| - referencesIdRecursive: false, |
18 |
| - referencesIdColumn: "id" |
19 |
| - }) |
20 |
| - .mapper( |
21 |
| - false, |
22 |
| - void 0, |
23 |
| - void 0, |
24 |
| - TestClazz, |
25 |
| - TestClazzRef, |
26 |
| - Cliente, |
27 |
| - Cidade, |
28 |
| - Uf, |
29 |
| - SubRegiao, |
30 |
| - Regiao, |
31 |
| - Classificacao |
32 |
| - ); |
| 17 | + beforeEach(async(() => { |
| 18 | + TestBed.configureTestingModule({ |
| 19 | + providers: [ |
| 20 | + TableMapper |
| 21 | + ], |
| 22 | + imports: [ |
| 23 | + DatabaseModule.forRoot( |
| 24 | + { |
| 25 | + useClass: DatabaseSettingsFactory |
| 26 | + }, |
| 27 | + { |
| 28 | + useFactory: (mapper: TableMapper) => { |
| 29 | + console.log(mapper.getMapper(TestClazz)); |
| 30 | + return mapper.getMapper(TestClazz) ? true : false; |
| 31 | + }, |
| 32 | + deps: [TableMapper] |
| 33 | + // useValue: true |
| 34 | + }, |
| 35 | + { |
| 36 | + useClass: DatabaseCreatorFake |
| 37 | + // useClass: SQLite |
| 38 | + }, |
| 39 | + DatabaseMigrationService |
| 40 | + ) |
| 41 | + // DatabaseModule.forRootValue( |
| 42 | + // // object to simple settings database |
| 43 | + // new DatabaseSettingsFactoryDefault( |
| 44 | + // 1, // version database |
| 45 | + // 'database1', // name database |
| 46 | + // // mapper for database |
| 47 | + // new MappersTableSimple(new DatabaseHelper(), { |
| 48 | + // references: false, // if "true" generate column for serialize object reference to JSON. |
| 49 | + // // Example in "TestClazz", create column "testClazzRef" to serialize "TestClazzRef" object |
| 50 | + // referencesId: true, // if "true" generate column for id reference. |
| 51 | + // // Example in "TestClazz", create column "testClazzRef_id" to save "TestClazzRef" property "id" |
| 52 | + // referencesIdRecursive: false, // if "true" generate column for id reference recursive for all references inner. |
| 53 | + // referencesIdColumn: 'id' // name id column references |
| 54 | + // }) |
| 55 | + // .mapper( |
| 56 | + // false, // readonly |
| 57 | + // void 0, // keyColumn: default "id" |
| 58 | + // void 0, // default settings constructor |
| 59 | + // // Type models for mapper |
| 60 | + // TestClazz, |
| 61 | + // TestClazzRef, |
| 62 | + // Cliente, |
| 63 | + // Cidade, |
| 64 | + // Uf, |
| 65 | + // SubRegiao, |
| 66 | + // Regiao, |
| 67 | + // Classificacao |
| 68 | + // )), |
| 69 | + // // implementation of "DatabaseMigrationContract" to estrategy migration upgrade versions database |
| 70 | + // DatabaseMigrationService |
| 71 | + // ) |
| 72 | + ], |
| 73 | + }); |
| 74 | + })); |
33 | 75 |
|
34 | 76 | const clienteToSave = {
|
35 | 77 | id: 1,
|
36 |
| - razaoSocial: "Razão", |
37 |
| - apelido: "Apelido", |
| 78 | + razaoSocial: 'Razão', |
| 79 | + apelido: 'Apelido', |
38 | 80 | cidade: {
|
39 | 81 | id: 2,
|
40 |
| - nome: "Cidade", |
| 82 | + nome: 'Cidade', |
41 | 83 | uf: {
|
42 |
| - id: "SC", |
43 |
| - nome: "Santa Catarina" |
| 84 | + id: 'SC', |
| 85 | + nome: 'Santa Catarina' |
44 | 86 | } as Uf,
|
45 | 87 | subRegiao: {
|
46 | 88 | id: 4,
|
47 |
| - nome: "Sub Região", |
| 89 | + nome: 'Sub Região', |
48 | 90 | regiao: {
|
49 | 91 | id: 5,
|
50 |
| - nome: "Região" |
| 92 | + nome: 'Região' |
51 | 93 | } as Regiao
|
52 | 94 | } as SubRegiao,
|
53 | 95 | } as Cidade,
|
54 | 96 | classificacao: {
|
55 | 97 | id: 3,
|
56 |
| - descricao: "Top" |
| 98 | + descricao: 'Top' |
57 | 99 | } as Classificacao,
|
58 | 100 | desativo: false
|
59 | 101 | } as Cliente;
|
60 | 102 |
|
61 |
| - it("Test mapper insert", () => { |
62 |
| - const result = new Insert(Cliente, clienteToSave, mapper.getMapper(Cliente)).compile(); |
63 |
| - expect(result.params.toString()).toEqual([1, "Razão", "Apelido", false, 2, 3].toString()); |
64 |
| - expect(result.query).toEqual("INSERT INTO Cliente (id, razaoSocial, apelido, desativo, cidade_id, classificacao_id) VALUES (?, ?, ?, ?, ?, ?)"); |
65 |
| - }); |
| 103 | + it('Test mapper insert T', async(() => { |
| 104 | + const database: Database = TestBed.get(Database); |
| 105 | + database.crud().then(crud => { |
| 106 | + const result = crud.insert(Cliente, clienteToSave).compile(); |
| 107 | + expect(result.params.toString()).toEqual([1, 'Razão', 'Apelido', false, 2, 3].toString()); |
| 108 | + expect(result.query).toEqual('INSERT INTO Cliente (id, razaoSocial, apelido, desativo, cidade_id, classificacao_id) VALUES (?, ?, ?, ?, ?, ?)'); |
| 109 | + }); |
| 110 | + })); |
66 | 111 |
|
67 | 112 | });
|
0 commit comments