@@ -42,6 +42,14 @@ describe('AbstractPolymorphicRepository', () => {
4242 } ) ;
4343
4444 describe ( 'Childen' , ( ) => {
45+ // describe('helper methods', () => {
46+ // it('Is child', async () => {
47+ // const repository: AdvertRepository = connection.getCustomRepository(AdvertRepository);
48+
49+ // expect(repository.isChildren({})).toBeTruthy();
50+ // });
51+ // });
52+
4553 describe ( 'create' , ( ) => {
4654 it ( 'Can create with parent' , async ( ) => {
4755 const repository = connection . getCustomRepository ( AdvertRepository ) ;
@@ -77,6 +85,82 @@ describe('AbstractPolymorphicRepository', () => {
7785 expect ( result . entityType ) . toBe ( UserEntity . name ) ;
7886 expect ( result . entityId ) . toBe ( result . owner . id ) ;
7987 } ) ;
88+
89+ it ( 'Can save many with cascade parent' , async ( ) => {
90+ const repository = connection . getCustomRepository ( AdvertRepository ) ;
91+ const userRepository = connection . getRepository ( UserEntity ) ;
92+
93+ const user = await userRepository . save ( new UserEntity ( ) ) ;
94+
95+ const result = await repository . save ( [
96+ repository . create ( {
97+ owner : user ,
98+ } ) ,
99+ repository . create ( {
100+ owner : user ,
101+ } ) ,
102+ ] ) ;
103+
104+ result . forEach ( ( res ) => {
105+ expect ( res ) . toBeInstanceOf ( AdvertEntity ) ;
106+ expect ( res . owner ) . toBeInstanceOf ( UserEntity ) ;
107+ expect ( res . id ) . toBeTruthy ( ) ;
108+ expect ( res . owner . id ) . toBeTruthy ( ) ;
109+ expect ( res . entityType ) . toBe ( UserEntity . name ) ;
110+ expect ( res . entityId ) . toBe ( res . owner . id ) ;
111+ } ) ;
112+ } ) ;
113+ } ) ;
114+
115+ describe ( 'findOne' , ( ) => {
116+ it ( 'Can find entity with parent' , async ( ) => {
117+ const repository = connection . getCustomRepository ( AdvertRepository ) ;
118+ const userRepository = connection . getRepository ( UserEntity ) ;
119+
120+ const user = await userRepository . save ( new UserEntity ( ) ) ;
121+
122+ const advert = await repository . save (
123+ repository . create ( {
124+ owner : user ,
125+ } ) ,
126+ ) ;
127+
128+ const result = await repository . findOne ( advert . id ) ;
129+
130+ expect ( result ) . toBeInstanceOf ( AdvertEntity ) ;
131+ expect ( result . owner ) . toBeInstanceOf ( UserEntity ) ;
132+ expect ( result . owner . id ) . toBe ( result . entityId ) ;
133+ expect ( result . entityType ) . toBe ( UserEntity . name ) ;
134+ } ) ;
135+ } ) ;
136+
137+ describe ( 'find' , ( ) => {
138+ it ( 'Can find entities with parent' , async ( ) => {
139+ const repository = connection . getCustomRepository ( AdvertRepository ) ;
140+ const userRepository = connection . getRepository ( UserEntity ) ;
141+
142+ const user = await userRepository . save ( new UserEntity ( ) ) ;
143+
144+ await repository . save ( [
145+ repository . create ( {
146+ owner : user ,
147+ } ) ,
148+ repository . create ( {
149+ owner : user ,
150+ } ) ,
151+ ] ) ;
152+
153+ const result = await repository . find ( ) ;
154+
155+ result . forEach ( ( res ) => {
156+ expect ( res ) . toBeInstanceOf ( AdvertEntity ) ;
157+ expect ( res . owner ) . toBeInstanceOf ( UserEntity ) ;
158+ expect ( res . id ) . toBeTruthy ( ) ;
159+ expect ( res . owner . id ) . toBeTruthy ( ) ;
160+ expect ( res . entityType ) . toBe ( UserEntity . name ) ;
161+ expect ( res . entityId ) . toBe ( res . owner . id ) ;
162+ } ) ;
163+ } ) ;
80164 } ) ;
81165 } ) ;
82166} ) ;
0 commit comments