Browse Source

updating test file

pull/17054/head
Sinan997 3 years ago
parent
commit
dc04ad9757
  1. 85
      npm/ng-packs/packages/core/src/lib/tests/internet-connection.service.spec.ts

85
npm/ng-packs/packages/core/src/lib/tests/internet-connection.service.spec.ts

@ -12,7 +12,6 @@ describe('Internet connection when disconnected', () => {
events[event] = callback;
});
const mockDocument = { defaultView: {navigator: {onLine: false}, addEventListener } }
beforeAll(() => {
TestBed.configureTestingModule({
providers:[{provide:DOCUMENT, useValue: mockDocument}]
@ -36,74 +35,66 @@ describe('Internet connection when disconnected', () => {
});
});
test.each(['offline',"online"])('should addEventListener for "%i",event',(v)=>{
test.each(['offline','online'])('should addEventListener for %p, event',(v)=>{
expect(events[v]).toBeTruthy()
})
test.each([['offline',false],["online",true]])('should called %i, then value must be %i',(eventName,value)=>{
test.each([['offline',false],["online",true]])('when %p called ,then signal value must be %p',(eventName,value)=>{
events[eventName]()
expect(service.networkStatus()).toEqual(value);
})
test.each([['offline',false],["online",true]])('when %p called,then observable must return %p',(eventName,value)=>{
events[eventName]()
service.networkStatus$.subscribe(val=>{
expect(val).toEqual(value)
})
})
});
describe('Internet connection when connected', () => {
const mockDocument = { defaultView: {navigator: {onLine: true}, addEventListener: jest.fn()} }
beforeEach(() => {
describe('when connection value changes for signals', () => {
const events = {};
const addEventListener = jest.fn((event, callback) => {
events[event] = callback;
});
const mockDocument = { defaultView: {navigator: {onLine: false}, addEventListener } }
beforeAll(() => {
TestBed.configureTestingModule({
providers:[{provide:DOCUMENT, useValue: mockDocument}]
})
service = TestBed.inject(InternetConnectionService);
});
it('signal value should be true', () => {
it('signal value must be false when offline event is called while internet is connected', () => {
events['online']()
expect(service.networkStatus()).toEqual(true);
events['offline']()
expect(service.networkStatus()).toEqual(false);
});
it('observable value should be true',
(done: any) => {
service.networkStatus$.pipe(first()).subscribe(value => {
expect(value).toBe(true)
done();
});
it('signal value must be true when online event is called while internet is disconnected', () => {
events['offline']()
expect(service.networkStatus()).toEqual(false);
events['online']()
expect(service.networkStatus()).toEqual(true);
});
});
describe('when connection value changes', () => {
const mockDocument = { defaultView: {navigator: {onLine: true}, addEventListener: (eventName,cb)=>{
window.addEventListener(eventName,cb)
}, dispatchEvent: function(){
this.navigator.onLine = !this.navigator.onLine
}}}
beforeEach(() => {
TestBed.configureTestingModule({
providers:[{provide:DOCUMENT, useValue: mockDocument}]
it('observable value must be false when offline event is called while internet is connected', (done:any) => {
events['online']()
events['offline']()
service.networkStatus$.subscribe(val=>{
expect(val).toEqual(false)
done()
})
service = TestBed.inject(InternetConnectionService);
});
it('check is signal value changes', () => {
expect(service.networkStatus()).toEqual(true);
const event = new Event("offline");
service.window.dispatchEvent(event)
service.setStatus(service.window.navigator.onLine)
expect(service.networkStatus()).toEqual(false);
});
it('check is observable value changes',(done: any) => {
const event = new Event("online");
service.window.dispatchEvent(event)
service.networkStatus$.pipe(first()).subscribe(value => {
expect(value).toEqual(true)
done()
});
service.window.dispatchEvent(event)
service.setStatus(service.window.navigator.onLine)
service.networkStatus$.pipe().subscribe(value => {
expect(value).toEqual(false)
it('observable value must be true when online event is called while internet is disconnected', (done:any) => {
events['offline']()
events['online']()
service.networkStatus$.subscribe(val=>{
console.log(val);
expect(val).toEqual(true)
done()
});
})
});
});
});
Loading…
Cancel
Save