MCPcopy Create free account
hub / github.com/Seb-C/kiss-orm / getTestForRepositoryWithDatabase

Function getTestForRepositoryWithDatabase

src/Repositories/CrudRepository.test.ts:126–488  ·  view source on GitHub ↗
(DatabaseClass: any, config: any, primaryKeyAttributes: SqlQuery)

Source from the content-addressed store, hash-verified

124}, sql`PRIMARY KEY AUTOINCREMENT`));
125
126function getTestForRepositoryWithDatabase(DatabaseClass: any, config: any, primaryKeyAttributes: SqlQuery) {
127 return () => {
128 let db: DatabaseInterface;
129 let repository: TestRepository;
130 let scopedRepository: TestScopedRepository;
131 let relatedTestRepository: RelatedTestRepository;
132 let repositoryWithDuplicates: TestWithDuplicatesRepository;
133
134 beforeEach(async () => {
135 db = new DatabaseClass(config);
136
137 await db.query(sql`
138 CREATE TEMPORARY TABLE ${new QueryIdentifier('Test')} (
139 ${new QueryIdentifier('id')} INTEGER NOT NULL ${primaryKeyAttributes},
140 ${new QueryIdentifier('text')} TEXT NOT NULL,
141 ${new QueryIdentifier('number')} INTEGER NOT NULL,
142 ${new QueryIdentifier('date')} DATE NOT NULL
143 );
144 `);
145 await db.query(sql`
146 CREATE TEMPORARY TABLE ${new QueryIdentifier('RelatedTest')} (
147 ${new QueryIdentifier('id')} INTEGER NOT NULL ${primaryKeyAttributes},
148 ${new QueryIdentifier('testId')} INTEGER NOT NULL
149 );
150 `);
151 await db.query(sql`
152 CREATE TEMPORARY TABLE ${new QueryIdentifier('ManyManyTest')} (
153 ${new QueryIdentifier('testId')} INTEGER NOT NULL,
154 ${new QueryIdentifier('relatedTestId')} INTEGER NOT NULL
155 );
156 `);
157 await db.query(sql`
158 CREATE TEMPORARY TABLE ${new QueryIdentifier('TestWithDuplicates')} (
159 ${new QueryIdentifier('id')} INTEGER NOT NULL,
160 ${new QueryIdentifier('text')} TEXT NOT NULL,
161 ${new QueryIdentifier('number')} INTEGER NOT NULL,
162 ${new QueryIdentifier('date')} DATE NOT NULL
163 );
164 `);
165
166 repository = new TestRepository(db);
167 scopedRepository = new TestScopedRepository(db);
168 relatedTestRepository = new RelatedTestRepository(db);
169 repositoryWithDuplicates = new TestWithDuplicatesRepository(db);
170 });
171 afterEach(async () => {
172 await db.query(sql`DROP TABLE ${new QueryIdentifier('Test')};`);
173 await db.query(sql`DROP TABLE ${new QueryIdentifier('RelatedTest')};`);
174 await db.query(sql`DROP TABLE ${new QueryIdentifier('ManyManyTest')};`);
175 await db.query(sql`DROP TABLE ${new QueryIdentifier('TestWithDuplicates')};`);
176 await db.disconnect();
177 });
178
179 it('get - normal case', async () => {
180 await db.query(sql`
181 INSERT INTO ${new QueryIdentifier('Test')} VALUES
182 (1, 'test 1', 11, DATE('2020-01-01')),
183 (2, 'test 2', 12, DATE('2020-01-03'));

Callers 1

Calls 10

getMethod · 0.80
searchMethod · 0.80
createMethod · 0.80
updateMethod · 0.80
deleteMethod · 0.80
loadTestRelationshipMethod · 0.80
queryMethod · 0.65
disconnectMethod · 0.65

Tested by

no test coverage detected