Skip to content

Commit 7dc3c93

Browse files
committed
Unit tests clea-up
1 parent 9703573 commit 7dc3c93

File tree

2 files changed

+228
-259
lines changed

2 files changed

+228
-259
lines changed

test/dom/iframe/iframeLoader.content.spec.ts

Lines changed: 69 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'mocha';
22
import { expect } from 'chai';
33
import { JSDOM } from 'jsdom';
44
import { IframeContent, IframeMessage, IframeMessageState } from '../../../src/dom/iframe/iframeLoader';
5-
import { falsies } from '../../utils';
5+
import { falsies, getDelayPromise } from '../../utils';
66

77
export function test_iframeLoader_content() {
88
describe('IframeContent - Standalone', () => {
@@ -130,7 +130,7 @@ export function test_iframeLoader_content() {
130130
_parent.postMessage('end-the-unit-test', 'http://localhost:81');
131131
});
132132

133-
it('should have all messages after handshake',done => {
133+
it('should have all messages after handshake', async () => {
134134
const messages = new Array<IframeMessage>();
135135
const content = new IframeContent(_win, 'http://localhost:81');
136136
const idValue = 'id-value';
@@ -141,80 +141,6 @@ export function test_iframeLoader_content() {
141141
}
142142

143143
_parent.addEventListener('message',e => {
144-
if (e.data === 'end-the-unit-test') {
145-
try {
146-
// console.log(JSON.stringify(messages, undefined, 2))
147-
// expect(messages.length).to.be.eq(2);
148-
let idx = 0;
149-
// Handshake init event
150-
expect(messages[idx].id).to.be.eq('');
151-
152-
falsies.forEach(f => {
153-
idx++;
154-
expect(messages[idx].id).to.be.eq('');
155-
expect(messages[idx].state).to.be.eq(IframeMessageState.Mounted);
156-
expect(messages[idx].data).to.be.eq(f);
157-
});
158-
159-
idx++;
160-
// Handshake reply event
161-
expect(messages[idx].id).to.be.eq('');
162-
expect(messages[idx].state).to.be.eq(IframeMessageState.Mounted);
163-
expect(messages[idx].data).to.be.eq('id-hash');
164-
165-
idx++;
166-
// Signal MOUNTED from INIT
167-
expect(messages[idx].id).to.be.eq(idValue);
168-
expect(messages[idx].state).to.be.eq(IframeMessageState.Mounted);
169-
expect(messages[idx].data).to.be.eq(undefined);
170-
171-
idx++;
172-
// Busy from EVT_PRE_HS
173-
expect(messages[idx].id).to.be.eq(idValue);
174-
expect(messages[idx].state).to.be.eq(IframeMessageState.BeforeUpdate);
175-
expect(messages[idx].data).to.be.eq(undefined);
176-
177-
idx++;
178-
// Signal busy from call
179-
expect(messages[idx].id).to.be.eq(idValue);
180-
expect(messages[idx].state).to.be.eq(IframeMessageState.BeforeUpdate);
181-
expect(messages[idx].data).to.be.eq(undefined);
182-
183-
idx++;
184-
// Signal not busy from call
185-
expect(messages[idx].id).to.be.eq(idValue);
186-
expect(messages[idx].state).to.be.eq(IframeMessageState.Updated);
187-
expect(messages[idx].data).to.be.eq(undefined);
188-
189-
idx++;
190-
// Signal busy from dispose
191-
expect(messages[idx].id).to.be.eq(idValue, `ID: ${idx}`);
192-
expect(messages[idx].state).to.be.eq(IframeMessageState.BeforeUpdate);
193-
expect(messages[idx].data).to.be.eq(undefined, `DATA: ${idx}`);
194-
195-
idx++;
196-
// Signal dispose
197-
expect(messages[idx].id).to.be.eq(idValue, `ID: ${idx}`);
198-
expect(messages[idx].state).to.be.eq(IframeMessageState.Destroyed);
199-
expect(messages[idx].data).to.be.eq(undefined, `DATA: ${idx}`);
200-
201-
} catch (err) {
202-
messages.forEach(f => console.log(JSON.stringify(f, undefined, 0)));
203-
throw err;
204-
}
205-
finally {
206-
done();
207-
}
208-
209-
return;
210-
}
211-
212-
if (e.data === 'pre-end-the-unit-test') {
213-
content.dispose();
214-
_parent.postMessage('end-the-unit-test', 'http://localhost:81');
215-
return;
216-
}
217-
218144
messages.push(e.data);
219145
});
220146

@@ -240,7 +166,73 @@ export function test_iframeLoader_content() {
240166

241167
content.signalBusyState(true);
242168
content.signalBusyState(false);
243-
_parent.postMessage('pre-end-the-unit-test', 'http://localhost:81');
169+
170+
await getDelayPromise(3);
171+
172+
content.dispose();
173+
174+
await getDelayPromise(3);
175+
176+
try {
177+
// console.log(JSON.stringify(messages, undefined, 2))
178+
// expect(messages.length).to.be.eq(2);
179+
let idx = 0;
180+
// Handshake init event
181+
expect(messages[idx].id).to.be.eq('');
182+
183+
falsies.forEach(f => {
184+
idx++;
185+
expect(messages[idx].id).to.be.eq('');
186+
expect(messages[idx].state).to.be.eq(IframeMessageState.Mounted);
187+
expect(messages[idx].data).to.be.eq(f);
188+
});
189+
190+
idx++;
191+
// Handshake reply event
192+
expect(messages[idx].id).to.be.eq('');
193+
expect(messages[idx].state).to.be.eq(IframeMessageState.Mounted);
194+
expect(messages[idx].data).to.be.eq('id-hash');
195+
196+
idx++;
197+
// Signal MOUNTED from INIT
198+
expect(messages[idx].id).to.be.eq(idValue);
199+
expect(messages[idx].state).to.be.eq(IframeMessageState.Mounted);
200+
expect(messages[idx].data).to.be.eq(undefined);
201+
202+
idx++;
203+
// Busy from EVT_PRE_HS
204+
expect(messages[idx].id).to.be.eq(idValue);
205+
expect(messages[idx].state).to.be.eq(IframeMessageState.BeforeUpdate);
206+
expect(messages[idx].data).to.be.eq(undefined);
207+
208+
idx++;
209+
// Signal busy from call
210+
expect(messages[idx].id).to.be.eq(idValue);
211+
expect(messages[idx].state).to.be.eq(IframeMessageState.BeforeUpdate);
212+
expect(messages[idx].data).to.be.eq(undefined);
213+
214+
idx++;
215+
// Signal not busy from call
216+
expect(messages[idx].id).to.be.eq(idValue);
217+
expect(messages[idx].state).to.be.eq(IframeMessageState.Updated);
218+
expect(messages[idx].data).to.be.eq(undefined);
219+
220+
idx++;
221+
// Signal busy from dispose
222+
expect(messages[idx].id).to.be.eq(idValue, `ID: ${idx}`);
223+
expect(messages[idx].state).to.be.eq(IframeMessageState.BeforeUpdate);
224+
expect(messages[idx].data).to.be.eq(undefined, `DATA: ${idx}`);
225+
226+
idx++;
227+
// Signal dispose
228+
expect(messages[idx].id).to.be.eq(idValue, `ID: ${idx}`);
229+
expect(messages[idx].state).to.be.eq(IframeMessageState.Destroyed);
230+
expect(messages[idx].data).to.be.eq(undefined, `DATA: ${idx}`);
231+
232+
} catch (err) {
233+
messages.forEach(f => console.log(JSON.stringify(f, undefined, 0)));
234+
throw err;
235+
}
244236
});
245237
});
246238
}

0 commit comments

Comments
 (0)