@typetron/framework 0.3.11 → 0.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/Container/Container.js +3 -3
  2. package/Database/Connection.d.ts +2 -5
  3. package/Database/Connection.d.ts.map +1 -1
  4. package/Database/Connection.js +4 -4
  5. package/Database/Decorators.d.ts +7 -2
  6. package/Database/Decorators.d.ts.map +1 -1
  7. package/Database/Decorators.js +6 -3
  8. package/Database/Decorators.js.map +1 -1
  9. package/Database/Drivers/DatabaseDriver.d.ts +4 -6
  10. package/Database/Drivers/DatabaseDriver.d.ts.map +1 -1
  11. package/Database/Drivers/DatabaseDriver.js.map +1 -1
  12. package/Database/Drivers/MySQL/Alter/index.d.ts +34 -0
  13. package/Database/Drivers/MySQL/Alter/index.d.ts.map +1 -0
  14. package/Database/Drivers/MySQL/Alter/index.js +65 -0
  15. package/Database/Drivers/MySQL/Alter/index.js.map +1 -0
  16. package/Database/Drivers/MySQL/ColumnDefinition.d.ts +7 -0
  17. package/Database/Drivers/MySQL/ColumnDefinition.d.ts.map +1 -0
  18. package/Database/Drivers/MySQL/ColumnDefinition.js +18 -0
  19. package/Database/Drivers/MySQL/ColumnDefinition.js.map +1 -0
  20. package/Database/Drivers/MySQL/Create.d.ts +10 -0
  21. package/Database/Drivers/MySQL/Create.d.ts.map +1 -0
  22. package/Database/Drivers/MySQL/Create.js +43 -0
  23. package/Database/Drivers/MySQL/Create.js.map +1 -0
  24. package/Database/Drivers/MySQL/MysqlDriver.d.ts +7 -3
  25. package/Database/Drivers/MySQL/MysqlDriver.d.ts.map +1 -1
  26. package/Database/Drivers/MySQL/MysqlDriver.js +27 -15
  27. package/Database/Drivers/MySQL/MysqlDriver.js.map +1 -1
  28. package/Database/Drivers/MySQL/Schema.d.ts +12 -2
  29. package/Database/Drivers/MySQL/Schema.d.ts.map +1 -1
  30. package/Database/Drivers/MySQL/Schema.js +57 -3
  31. package/Database/Drivers/MySQL/Schema.js.map +1 -1
  32. package/Database/Drivers/MySQL/index.d.ts +1 -0
  33. package/Database/Drivers/MySQL/index.d.ts.map +1 -1
  34. package/Database/Drivers/MySQL/index.js +14 -0
  35. package/Database/Drivers/MySQL/index.js.map +1 -1
  36. package/Database/Drivers/SQL/Schema.d.ts +3 -8
  37. package/Database/Drivers/SQL/Schema.d.ts.map +1 -1
  38. package/Database/Drivers/SQL/Schema.js +21 -63
  39. package/Database/Drivers/SQL/Schema.js.map +1 -1
  40. package/Database/Drivers/SQL/Statements/Alter.d.ts +2 -2
  41. package/Database/Drivers/SQL/Statements/Alter.d.ts.map +1 -1
  42. package/Database/Drivers/SQL/Statements/Alter.js +8 -8
  43. package/Database/Drivers/SQL/Statements/Alter.js.map +1 -1
  44. package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +2 -2
  45. package/Database/Drivers/SQL/Statements/BaseStatement.d.ts.map +1 -1
  46. package/Database/Drivers/SQL/Statements/BaseStatement.js +3 -3
  47. package/Database/Drivers/SQL/Statements/BaseStatement.js.map +1 -1
  48. package/Database/Drivers/SQL/Statements/Delete.d.ts +1 -1
  49. package/Database/Drivers/SQL/Statements/Delete.d.ts.map +1 -1
  50. package/Database/Drivers/SQL/Statements/Delete.js +4 -6
  51. package/Database/Drivers/SQL/Statements/Delete.js.map +1 -1
  52. package/Database/Drivers/SQL/Statements/Insert.d.ts +1 -1
  53. package/Database/Drivers/SQL/Statements/Insert.d.ts.map +1 -1
  54. package/Database/Drivers/SQL/Statements/Insert.js +3 -2
  55. package/Database/Drivers/SQL/Statements/Insert.js.map +1 -1
  56. package/Database/Drivers/SQL/Statements/Select.d.ts +1 -1
  57. package/Database/Drivers/SQL/Statements/Select.d.ts.map +1 -1
  58. package/Database/Drivers/SQL/Statements/Select.js +9 -12
  59. package/Database/Drivers/SQL/Statements/Select.js.map +1 -1
  60. package/Database/Drivers/SQL/Statements/Update.d.ts +1 -1
  61. package/Database/Drivers/SQL/Statements/Update.d.ts.map +1 -1
  62. package/Database/Drivers/SQL/Statements/Update.js +6 -8
  63. package/Database/Drivers/SQL/Statements/Update.js.map +1 -1
  64. package/Database/Drivers/SQL/index.d.ts +9 -0
  65. package/Database/Drivers/SQL/index.d.ts.map +1 -0
  66. package/Database/Drivers/SQL/index.js +3 -0
  67. package/Database/Drivers/SQL/index.js.map +1 -0
  68. package/Database/Drivers/SQLite/Create.d.ts +10 -0
  69. package/Database/Drivers/SQLite/Create.d.ts.map +1 -0
  70. package/Database/Drivers/SQLite/Create.js +42 -0
  71. package/Database/Drivers/SQLite/Create.js.map +1 -0
  72. package/Database/Drivers/SQLite/Schema.d.ts +12 -2
  73. package/Database/Drivers/SQLite/Schema.d.ts.map +1 -1
  74. package/Database/Drivers/SQLite/Schema.js +38 -3
  75. package/Database/Drivers/SQLite/Schema.js.map +1 -1
  76. package/Database/Drivers/SQLite/SqliteDriver.d.ts +7 -3
  77. package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
  78. package/Database/Drivers/SQLite/SqliteDriver.js +22 -9
  79. package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
  80. package/Database/Drivers/SQLite/index.d.ts +1 -0
  81. package/Database/Drivers/SQLite/index.d.ts.map +1 -1
  82. package/Database/Drivers/SQLite/index.js +13 -0
  83. package/Database/Drivers/SQLite/index.js.map +1 -1
  84. package/Database/Drivers/SchemaContract.d.ts +1 -3
  85. package/Database/Drivers/SchemaContract.d.ts.map +1 -1
  86. package/Database/Drivers/SchemaContract.js.map +1 -1
  87. package/Database/Drivers/Statement.d.ts +4 -3
  88. package/Database/Drivers/Statement.d.ts.map +1 -1
  89. package/Database/Drivers/Statement.js +4 -2
  90. package/Database/Drivers/Statement.js.map +1 -1
  91. package/Database/Entity.js +2 -1
  92. package/Database/Entity.js.map +1 -1
  93. package/Database/EntityQuery.d.ts +4 -4
  94. package/Database/EntityQuery.d.ts.map +1 -1
  95. package/Database/EntityQuery.js.map +1 -1
  96. package/Database/Expression.d.ts +2 -4
  97. package/Database/Expression.d.ts.map +1 -1
  98. package/Database/Expression.js +0 -6
  99. package/Database/Expression.js.map +1 -1
  100. package/Database/Fields.d.ts.map +1 -1
  101. package/Database/Fields.js +1 -1
  102. package/Database/Fields.js.map +1 -1
  103. package/Database/Helpers.d.ts.map +1 -1
  104. package/Database/Helpers.js +8 -2
  105. package/Database/Helpers.js.map +1 -1
  106. package/Database/Migrations/Migrator.d.ts +1 -1
  107. package/Database/Migrations/Migrator.d.ts.map +1 -1
  108. package/Database/Migrations/Migrator.js +1 -1
  109. package/Database/Migrations/Migrator.js.map +1 -1
  110. package/Database/Query.d.ts +11 -10
  111. package/Database/Query.d.ts.map +1 -1
  112. package/Database/Query.js +6 -4
  113. package/Database/Query.js.map +1 -1
  114. package/Database/StringExpression.d.ts +7 -0
  115. package/Database/StringExpression.d.ts.map +1 -0
  116. package/Database/StringExpression.js +15 -0
  117. package/Database/StringExpression.js.map +1 -0
  118. package/Database/Types.d.ts +3 -3
  119. package/Database/Types.d.ts.map +1 -1
  120. package/Database/Types.js +1 -1
  121. package/Database/index.d.ts +2 -1
  122. package/Database/index.d.ts.map +1 -1
  123. package/Database/index.js +1 -0
  124. package/Database/index.js.map +1 -1
  125. package/Encryption/index.d.ts.map +1 -1
  126. package/Encryption/index.js +4 -1
  127. package/Encryption/index.js.map +1 -1
  128. package/Framework/Config/DatabaseConfig.d.ts.map +1 -1
  129. package/Framework/Config/DatabaseConfig.js.map +1 -1
  130. package/Framework/Providers/DatabaseProvider.js +1 -1
  131. package/Framework/Providers/DatabaseProvider.js.map +1 -1
  132. package/Readme.md +123 -123
  133. package/Support/Array.d.ts +4 -2
  134. package/Support/Array.d.ts.map +1 -1
  135. package/Support/Array.js +8 -2
  136. package/Support/Array.js.map +1 -1
  137. package/package.json +66 -66
  138. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +2 -0
  139. package/tests/Database/Drivers/MySQL/AlterTest.d.ts.map +1 -0
  140. package/tests/Database/Drivers/MySQL/AlterTest.js +144 -0
  141. package/tests/Database/Drivers/MySQL/AlterTest.js.map +1 -0
  142. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +2 -0
  143. package/tests/Database/Drivers/MySQL/CreateTest.d.ts.map +1 -0
  144. package/tests/Database/Drivers/MySQL/CreateTest.js +64 -0
  145. package/tests/Database/Drivers/MySQL/CreateTest.js.map +1 -0
  146. package/tests/Database/Drivers/MysqlDriverTest.d.ts +2 -0
  147. package/tests/Database/Drivers/MysqlDriverTest.d.ts.map +1 -0
  148. package/tests/Database/Drivers/MysqlDriverTest.js +174 -0
  149. package/tests/Database/Drivers/MysqlDriverTest.js.map +1 -0
  150. package/tests/Database/Drivers/SqliteDriverTest.d.ts +2 -0
  151. package/tests/Database/Drivers/SqliteDriverTest.d.ts.map +1 -0
  152. package/tests/Database/Drivers/SqliteDriverTest.js +156 -0
  153. package/tests/Database/Drivers/SqliteDriverTest.js.map +1 -0
  154. package/tests/Database/QueryTest.js +59 -55
  155. package/tests/Database/QueryTest.js.map +1 -1
  156. package/tests/Database/utils.d.ts +6 -0
  157. package/tests/Database/utils.d.ts.map +1 -0
  158. package/tests/Database/utils.js +19 -0
  159. package/tests/Database/utils.js.map +1 -0
  160. package/tests/Support/ArrayTest.js +42 -2
  161. package/tests/Support/ArrayTest.js.map +1 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const mocha_1 = require("@testdeck/mocha");
13
+ const Create_1 = require("@Typetron/Database/Drivers/MySQL/Create");
14
+ const utils_1 = require("@Typetron/tests/Database/utils");
15
+ let CreateTest = class CreateTest {
16
+ async createsEmptyTable() {
17
+ const statement = new Create_1.Create('test');
18
+ utils_1.expectQuery(statement).toEqual('CREATE TABLE test ( )');
19
+ }
20
+ async createsTableWithIntegerColumn() {
21
+ const statement = new Create_1.Create('test', [{
22
+ name: 'age',
23
+ type: 'integer',
24
+ }]);
25
+ utils_1.expectQuery(statement).toEqual('CREATE TABLE test ( age integer )');
26
+ }
27
+ async createsTableWithPrimaryAutoIncrementColumn() {
28
+ const statement = new Create_1.Create('test', [{
29
+ name: 'id',
30
+ type: 'integer',
31
+ primaryKey: true,
32
+ autoIncrement: 1
33
+ }]);
34
+ utils_1.expectQuery(statement).toEqual(`
35
+ CREATE TABLE test
36
+ (
37
+ id integer AUTO_INCREMENT,
38
+ PRIMARY KEY (id)
39
+ )
40
+ `);
41
+ }
42
+ };
43
+ __decorate([
44
+ mocha_1.test,
45
+ __metadata("design:type", Function),
46
+ __metadata("design:paramtypes", []),
47
+ __metadata("design:returntype", Promise)
48
+ ], CreateTest.prototype, "createsEmptyTable", null);
49
+ __decorate([
50
+ mocha_1.test,
51
+ __metadata("design:type", Function),
52
+ __metadata("design:paramtypes", []),
53
+ __metadata("design:returntype", Promise)
54
+ ], CreateTest.prototype, "createsTableWithIntegerColumn", null);
55
+ __decorate([
56
+ mocha_1.test,
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", []),
59
+ __metadata("design:returntype", Promise)
60
+ ], CreateTest.prototype, "createsTableWithPrimaryAutoIncrementColumn", null);
61
+ CreateTest = __decorate([
62
+ mocha_1.suite
63
+ ], CreateTest);
64
+ //# sourceMappingURL=CreateTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateTest.js","sourceRoot":"","sources":["../../../../../tests/Database/Drivers/MySQL/CreateTest.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAA6C;AAC7C,oEAAgE;AAChE,0DAA4D;AAG5D,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGZ,KAAK,CAAC,iBAAiB;QACnB,MAAM,SAAS,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAA;QACpC,mBAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC3D,CAAC;IAGD,KAAK,CAAC,6BAA6B;QAC/B,MAAM,SAAS,GAAG,IAAI,eAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAClB,CAAC,CAAC,CAAA;QACH,mBAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAA;IACvE,CAAC;IAGD,KAAK,CAAC,0CAA0C;QAC5C,MAAM,SAAS,GAAG,IAAI,eAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,CAAC;aACnB,CAAC,CAAC,CAAA;QACH,mBAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;;;;;;SAM9B,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AA9BG;IADC,YAAI;;;;mDAIJ;AAGD;IADC,YAAI;;;;+DAOJ;AAGD;IADC,YAAI;;;;4EAeJ;AAhCC,UAAU;IADf,aAAK;GACA,UAAU,CAiCf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MysqlDriverTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlDriverTest.d.ts","sourceRoot":"","sources":["../../../../tests/Database/Drivers/MysqlDriverTest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const mocha_1 = require("@testdeck/mocha");
13
+ const Database_1 = require("@Typetron/Database");
14
+ const ts_mockito_1 = require("ts-mockito");
15
+ const Schema_1 = require("@Typetron/Database/Drivers/MySQL/Schema");
16
+ const utils_1 = require("../utils");
17
+ let MysqlDriverTest = class MysqlDriverTest {
18
+ async before() {
19
+ this.driver = ts_mockito_1.mock(Database_1.MysqlDriver);
20
+ this.schema = new Schema_1.Schema(ts_mockito_1.instance(this.driver));
21
+ ts_mockito_1.when(this.driver.run(ts_mockito_1.anyString())).thenCall((query) => this.query = query);
22
+ }
23
+ async createsEmptyTable() {
24
+ let Test = class Test extends Database_1.Entity {
25
+ };
26
+ Test = __decorate([
27
+ Database_1.Options()
28
+ ], Test);
29
+ await this.schema.synchronize([Test].pluck('metadata'));
30
+ utils_1.expectQuery(this.query).toEqual('CREATE TABLE test ( )');
31
+ }
32
+ async createsTableWithIntegerColumn() {
33
+ class Test extends Database_1.Entity {
34
+ }
35
+ __decorate([
36
+ Database_1.Column(),
37
+ __metadata("design:type", Number)
38
+ ], Test.prototype, "age", void 0);
39
+ await this.schema.synchronize([Test].pluck('metadata'));
40
+ utils_1.expectQuery(this.query).toEqual('CREATE TABLE test ( age integer )');
41
+ }
42
+ async createsTableWithPrimaryAutoIncrementColumn() {
43
+ class Test extends Database_1.Entity {
44
+ }
45
+ __decorate([
46
+ Database_1.PrimaryColumn(),
47
+ __metadata("design:type", Object)
48
+ ], Test.prototype, "id", void 0);
49
+ await this.schema.synchronize([Test].pluck('metadata'));
50
+ utils_1.expectQuery(this.query).toEqual(`
51
+ CREATE TABLE test
52
+ (
53
+ id integer AUTO_INCREMENT,
54
+ PRIMARY KEY (id)
55
+ )
56
+ `);
57
+ }
58
+ async createsTableWithForeignColumn() {
59
+ class User extends Database_1.Entity {
60
+ }
61
+ __decorate([
62
+ Database_1.Column(),
63
+ Database_1.Relation(() => Image, 'user'),
64
+ __metadata("design:type", Database_1.HasOne)
65
+ ], User.prototype, "image", void 0);
66
+ class Image extends Database_1.Entity {
67
+ }
68
+ __decorate([
69
+ Database_1.Column(),
70
+ Database_1.Relation(() => User, 'image'),
71
+ __metadata("design:type", Database_1.BelongsTo)
72
+ ], Image.prototype, "user", void 0);
73
+ await this.schema.synchronize([Image].pluck('metadata'));
74
+ utils_1.expectQuery(this.query).toEqual(`
75
+ CREATE TABLE image
76
+ (
77
+ userId integer
78
+ )
79
+ `);
80
+ }
81
+ async altersTable() {
82
+ ts_mockito_1.when(this.driver.tableExists(ts_mockito_1.anyString())).thenReturn(Promise.resolve(true));
83
+ ts_mockito_1.when(this.driver.tableColumns(ts_mockito_1.anyString())).thenReturn(Promise.resolve([
84
+ {
85
+ name: 'column2',
86
+ type: 'integer'
87
+ },
88
+ {
89
+ name: 'column3',
90
+ type: 'integer'
91
+ },
92
+ ]));
93
+ class User extends Database_1.Entity {
94
+ }
95
+ __decorate([
96
+ Database_1.Column(),
97
+ __metadata("design:type", Number)
98
+ ], User.prototype, "column1", void 0);
99
+ __decorate([
100
+ Database_1.Column(),
101
+ __metadata("design:type", String)
102
+ ], User.prototype, "column2", void 0);
103
+ await this.schema.synchronize([User].pluck('metadata'));
104
+ utils_1.expectQuery(this.query).toEqual(`
105
+ ALTER TABLE user
106
+ ADD column1 integer,
107
+ MODIFY column2 varchar(255),
108
+ DROP
109
+ COLUMN column3
110
+ `);
111
+ }
112
+ async altersTableAddPrimaryKey() {
113
+ ts_mockito_1.when(this.driver.tableExists(ts_mockito_1.anyString())).thenReturn(Promise.resolve(true));
114
+ ts_mockito_1.when(this.driver.tableColumns(ts_mockito_1.anyString())).thenReturn(Promise.resolve([]));
115
+ class User extends Database_1.Entity {
116
+ }
117
+ __decorate([
118
+ Database_1.PrimaryColumn(),
119
+ __metadata("design:type", Object)
120
+ ], User.prototype, "id", void 0);
121
+ const queries = [];
122
+ ts_mockito_1.when(this.driver.run(ts_mockito_1.anyString())).thenCall((query) => queries.push(query));
123
+ await this.schema.synchronize([User].pluck('metadata'));
124
+ utils_1.expectQuery(queries[0]).toEqual(`
125
+ ALTER TABLE user
126
+ ADD id integer
127
+ `);
128
+ utils_1.expectQuery(queries[1]).toEqual(`
129
+ ALTER TABLE user
130
+ ADD CONSTRAINT PRIMARY KEY (id),
131
+ MODIFY id integer AUTO_INCREMENT
132
+ `);
133
+ }
134
+ };
135
+ __decorate([
136
+ mocha_1.test,
137
+ __metadata("design:type", Function),
138
+ __metadata("design:paramtypes", []),
139
+ __metadata("design:returntype", Promise)
140
+ ], MysqlDriverTest.prototype, "createsEmptyTable", null);
141
+ __decorate([
142
+ mocha_1.test,
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", []),
145
+ __metadata("design:returntype", Promise)
146
+ ], MysqlDriverTest.prototype, "createsTableWithIntegerColumn", null);
147
+ __decorate([
148
+ mocha_1.test,
149
+ __metadata("design:type", Function),
150
+ __metadata("design:paramtypes", []),
151
+ __metadata("design:returntype", Promise)
152
+ ], MysqlDriverTest.prototype, "createsTableWithPrimaryAutoIncrementColumn", null);
153
+ __decorate([
154
+ mocha_1.test,
155
+ __metadata("design:type", Function),
156
+ __metadata("design:paramtypes", []),
157
+ __metadata("design:returntype", Promise)
158
+ ], MysqlDriverTest.prototype, "createsTableWithForeignColumn", null);
159
+ __decorate([
160
+ mocha_1.test,
161
+ __metadata("design:type", Function),
162
+ __metadata("design:paramtypes", []),
163
+ __metadata("design:returntype", Promise)
164
+ ], MysqlDriverTest.prototype, "altersTable", null);
165
+ __decorate([
166
+ mocha_1.test,
167
+ __metadata("design:type", Function),
168
+ __metadata("design:paramtypes", []),
169
+ __metadata("design:returntype", Promise)
170
+ ], MysqlDriverTest.prototype, "altersTableAddPrimaryKey", null);
171
+ MysqlDriverTest = __decorate([
172
+ mocha_1.suite
173
+ ], MysqlDriverTest);
174
+ //# sourceMappingURL=MysqlDriverTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlDriverTest.js","sourceRoot":"","sources":["../../../../tests/Database/Drivers/MysqlDriverTest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SqliteDriverTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteDriverTest.d.ts","sourceRoot":"","sources":["../../../../tests/Database/Drivers/SqliteDriverTest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const mocha_1 = require("@testdeck/mocha");
13
+ const Database_1 = require("@Typetron/Database");
14
+ const ts_mockito_1 = require("@Typetron/node_modules/ts-mockito");
15
+ const Schema_1 = require("@Typetron/Database/Drivers/SQLite/Schema");
16
+ const utils_1 = require("@Typetron/tests/Database/utils");
17
+ const chai_1 = require("chai");
18
+ let SqliteDriverTest = class SqliteDriverTest {
19
+ async before() {
20
+ this.driver = ts_mockito_1.mock(Database_1.SqliteDriver);
21
+ this.schema = new Schema_1.Schema(ts_mockito_1.instance(this.driver));
22
+ ts_mockito_1.when(this.driver.run(ts_mockito_1.anyString())).thenCall((query) => this.query = query);
23
+ }
24
+ async createsEmptyTable() {
25
+ let Test = class Test extends Database_1.Entity {
26
+ };
27
+ Test = __decorate([
28
+ Database_1.Options()
29
+ ], Test);
30
+ await this.schema.synchronize([Test].pluck('metadata'));
31
+ utils_1.expectQuery(this.query).toEqual('CREATE TABLE test ( )');
32
+ }
33
+ async createsTableWithIntegerColumn() {
34
+ class Test extends Database_1.Entity {
35
+ }
36
+ __decorate([
37
+ Database_1.Column(),
38
+ __metadata("design:type", Number)
39
+ ], Test.prototype, "age", void 0);
40
+ await this.schema.synchronize([Test].pluck('metadata'));
41
+ utils_1.expectQuery(this.query).toEqual('CREATE TABLE test ( age integer )');
42
+ }
43
+ async createsTableWithPrimaryAutoIncrementColumn() {
44
+ class Test extends Database_1.Entity {
45
+ }
46
+ __decorate([
47
+ Database_1.PrimaryColumn(),
48
+ __metadata("design:type", Object)
49
+ ], Test.prototype, "id", void 0);
50
+ await this.schema.synchronize([Test].pluck('metadata'));
51
+ utils_1.expectQuery(this.query).toEqual(`
52
+ CREATE TABLE test
53
+ (
54
+ id integer PRIMARY KEY AUTOINCREMENT
55
+ )
56
+ `);
57
+ }
58
+ async createsTableWithForeignColumn() {
59
+ class User extends Database_1.Entity {
60
+ }
61
+ __decorate([
62
+ Database_1.Column(),
63
+ Database_1.Relation(() => Image, 'user'),
64
+ __metadata("design:type", Database_1.HasOne)
65
+ ], User.prototype, "image", void 0);
66
+ class Image extends Database_1.Entity {
67
+ }
68
+ __decorate([
69
+ Database_1.Column(),
70
+ Database_1.Relation(() => User, 'image'),
71
+ __metadata("design:type", Database_1.BelongsTo)
72
+ ], Image.prototype, "user", void 0);
73
+ await this.schema.synchronize([Image].pluck('metadata'));
74
+ utils_1.expectQuery(this.query).toEqual(`
75
+ CREATE TABLE image
76
+ (
77
+ userId integer
78
+ )
79
+ `);
80
+ }
81
+ async altersTable() {
82
+ ts_mockito_1.when(this.driver.tableExists(ts_mockito_1.anyString())).thenReturn(Promise.resolve(true));
83
+ ts_mockito_1.when(this.driver.tableColumns(ts_mockito_1.anyString())).thenReturn(Promise.resolve([
84
+ {
85
+ name: 'column2',
86
+ type: 'integer'
87
+ },
88
+ {
89
+ name: 'column3',
90
+ type: 'integer'
91
+ },
92
+ ]));
93
+ const queries = [];
94
+ ts_mockito_1.when(this.driver.run(ts_mockito_1.anyString())).thenCall((query) => queries.push(query));
95
+ class User extends Database_1.Entity {
96
+ }
97
+ __decorate([
98
+ Database_1.Column(),
99
+ __metadata("design:type", Number)
100
+ ], User.prototype, "column1", void 0);
101
+ __decorate([
102
+ Database_1.Column(),
103
+ __metadata("design:type", String)
104
+ ], User.prototype, "column2", void 0);
105
+ await this.schema.synchronize([User].pluck('metadata'));
106
+ chai_1.expect(queries).to.have.length(4);
107
+ utils_1.expectQuery(queries[0]).toEqual(`
108
+ CREATE TABLE user_alter_tmp
109
+ (
110
+ column1 integer,
111
+ column2 varchar(255)
112
+ )
113
+ `);
114
+ utils_1.expectQuery(queries[1]).toEqual(`
115
+ INSERT INTO user_alter_tmp(column2)
116
+ SELECT column2
117
+ FROM user
118
+ `);
119
+ utils_1.expectQuery(queries[2]).toEqual(`DROP TABLE user`);
120
+ utils_1.expectQuery(queries[3]).toEqual(`ALTER TABLE user_alter_tmp RENAME TO user`);
121
+ }
122
+ };
123
+ __decorate([
124
+ mocha_1.test,
125
+ __metadata("design:type", Function),
126
+ __metadata("design:paramtypes", []),
127
+ __metadata("design:returntype", Promise)
128
+ ], SqliteDriverTest.prototype, "createsEmptyTable", null);
129
+ __decorate([
130
+ mocha_1.test,
131
+ __metadata("design:type", Function),
132
+ __metadata("design:paramtypes", []),
133
+ __metadata("design:returntype", Promise)
134
+ ], SqliteDriverTest.prototype, "createsTableWithIntegerColumn", null);
135
+ __decorate([
136
+ mocha_1.test,
137
+ __metadata("design:type", Function),
138
+ __metadata("design:paramtypes", []),
139
+ __metadata("design:returntype", Promise)
140
+ ], SqliteDriverTest.prototype, "createsTableWithPrimaryAutoIncrementColumn", null);
141
+ __decorate([
142
+ mocha_1.test,
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", []),
145
+ __metadata("design:returntype", Promise)
146
+ ], SqliteDriverTest.prototype, "createsTableWithForeignColumn", null);
147
+ __decorate([
148
+ mocha_1.test,
149
+ __metadata("design:type", Function),
150
+ __metadata("design:paramtypes", []),
151
+ __metadata("design:returntype", Promise)
152
+ ], SqliteDriverTest.prototype, "altersTable", null);
153
+ SqliteDriverTest = __decorate([
154
+ mocha_1.suite
155
+ ], SqliteDriverTest);
156
+ //# sourceMappingURL=SqliteDriverTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteDriverTest.js","sourceRoot":"","sources":["../../../../tests/Database/Drivers/SqliteDriverTest.ts"],"names":[],"mappings":"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"}