Skip to content

Commit

Permalink
Issue #SB-000 merge: Merge branch 'release-6.0.0_v13' into release-7.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
swayangjit committed Apr 1, 2024
2 parents b3ff93f + 2f32659 commit 0950830
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 337 deletions.
11 changes: 11 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,13 @@ describe('DownloadTranscriptPopupComponent', () => {
}, 0);
});

it('should not download transcript file if api failed and hasPermission', (done) => {
it('should not download transcript file if api failed', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: true}));
mockCommonUtilService.isAndroidVer13 = jest.fn(() => false);
Expand Down Expand Up @@ -126,310 +125,6 @@ describe('DownloadTranscriptPopupComponent', () => {
}, 0);
});

it('should not download transcript file if api failed and isPermissionAlwaysDenied', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({isPermissionAlwaysDenied: true}));
mockCommonUtilService.showSettingsPageToast = jest.fn(() => {})
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([{
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'english'
}, {
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'hindi'
}]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file if api failed and isPermissionAlwaysDenied and hasPermission has false', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
const presentPopover = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: false, isPermissionAlwaysDenied: false}));
mockCommonUtilService.translateMessage = jest.fn();
mockCommonUtilService.buildPermissionPopover = jest.fn(() => Promise.resolve({
present: presentPopover
}));
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([{
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'english'
}, {
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'hindi'
}]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file if api failed and isPermissionAlwaysDenied and hasPermission has false and not now is selected', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: false, isPermissionAlwaysDenied: false}));
mockCommonUtilService.translateMessage = jest.fn(v => v);
mockCommonUtilService.buildPermissionPopover = jest.fn(async (callback) => {
await callback(mockCommonUtilService.translateMessage('NOT_NOW'));
mockTelemetryGeneratorService.generateInteractTelemetry = jest.fn();
mockCommonUtilService.showSettingsPageToast = jest.fn()
return {
present: jest.fn(() => Promise.resolve())
};
});
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([{
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'english'
}, {
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'hindi'
}]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file if api failed and isPermissionAlwaysDenied and hasPermission has false and allow is selected', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: false, isPermissionAlwaysDenied: false}));
mockCommonUtilService.translateMessage = jest.fn(v => v);
mockCommonUtilService.buildPermissionPopover = jest.fn(async (callback) => {
await callback(mockCommonUtilService.translateMessage('ALLOW'));
mockTelemetryGeneratorService.generateInteractTelemetry = jest.fn();
mockAppGlobalService.isNativePopupVisible = true;
mockPermissionService.requestPermission = jest.fn(() => of({hasPermission: true}))
mockAppGlobalService.setNativePopupVisible = jest.fn();
return {
present: jest.fn(() => Promise.resolve())
};
});
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([{
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'english'
}, {
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'hindi'
}]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
expect(mockCommonUtilService.translateMessage).toHaveBeenCalled();
expect(mockCommonUtilService.buildPermissionPopover).toHaveBeenCalled();
expect(mockCommonUtilService.getGivenPermissionStatus).toHaveBeenCalled();
expect(dismissFn).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file if api failed and isPermissionAlwaysDenied and hasPermission has false and allow is selected and request isPermissionAlwaysDenied', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: false, isPermissionAlwaysDenied: false}));
mockCommonUtilService.translateMessage = jest.fn(v => v);
mockCommonUtilService.buildPermissionPopover = jest.fn(async (callback) => {
await callback(mockCommonUtilService.translateMessage('ALLOW'));
mockTelemetryGeneratorService.generateInteractTelemetry = jest.fn();
mockAppGlobalService.isNativePopupVisible = true;
mockPermissionService.requestPermission = jest.fn(() => of({isPermissionAlwaysDenied: true}))
mockAppGlobalService.setNativePopupVisible = jest.fn();
return {
present: jest.fn(() => Promise.resolve())
};
});
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
expect(mockCommonUtilService.translateMessage).toHaveBeenCalled();
expect(mockCommonUtilService.buildPermissionPopover).toHaveBeenCalled();
expect(mockCommonUtilService.getGivenPermissionStatus).toHaveBeenCalled();
expect(dismissFn).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file if api failed and isPermissionAlwaysDenied and hasPermission has false and allow is selected and no request with hasPermission and isPermissionAlwaysDenied', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: false, isPermissionAlwaysDenied: false}));
mockCommonUtilService.translateMessage = jest.fn(v => v);
mockCommonUtilService.buildPermissionPopover = jest.fn(async (callback) => {
await callback(mockCommonUtilService.translateMessage('ALLOW'));
mockTelemetryGeneratorService.generateInteractTelemetry = jest.fn();
mockAppGlobalService.isNativePopupVisible = true;
mockPermissionService.requestPermission = jest.fn(() => of({hasPermission: false, isPermissionAlwaysDenied: false}))
mockAppGlobalService.setNativePopupVisible = jest.fn();
mockCommonUtilService.showSettingsPageToast = jest.fn();
return {
present: jest.fn(() => Promise.resolve())
};
});
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([{
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'english'
}, {
identifier: 'sample-do_id',
artifactUrl: 'http//:sample-url/do_id',
language: 'hindi'
}]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
expect(mockCommonUtilService.translateMessage).toHaveBeenCalled();
expect(mockCommonUtilService.buildPermissionPopover).toHaveBeenCalled();
expect(mockCommonUtilService.getGivenPermissionStatus).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file and allow is selected and no request with hasPermission and isPermissionAlwaysDenied', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
mockCommonUtilService.getLoader = jest.fn(() => ({
present: presentFn,
dismiss: dismissFn,
}));
mockPlatform.is = jest.fn(platform => platform === 'android')
mockPopOverCtrl.dismiss = jest.fn(() => Promise.resolve(true));
mockCommonUtilService.getGivenPermissionStatus = jest.fn(() => Promise.resolve({hasPermission: false, isPermissionAlwaysDenied: false}));
mockCommonUtilService.translateMessage = jest.fn(v => v);
mockCommonUtilService.buildPermissionPopover = jest.fn(async (callback) => {
await callback(mockCommonUtilService.translateMessage('Sample'));
mockTelemetryGeneratorService.generateInteractTelemetry = jest.fn();
mockAppGlobalService.isNativePopupVisible = true;
mockPermissionService.requestPermission = jest.fn(() => of({hasPermission: false, isPermissionAlwaysDenied: false}))
mockAppGlobalService.setNativePopupVisible = jest.fn();
mockCommonUtilService.showSettingsPageToast = jest.fn();
return {
present: jest.fn(() => Promise.resolve())
};
});
downloadTranscriptPopupComponent.contentData = {
transcripts: JSON.stringify([]),
name: 'transcript-content'
};
downloadTranscriptPopupComponent.transcriptLanguage = 'english';
mockContentService.downloadTranscriptFile = jest.fn(() => Promise.reject({error: 'api-failed'}));
// act
downloadTranscriptPopupComponent.download();
// assert
setTimeout(() => {
expect(mockCommonUtilService.getLoader).toHaveBeenCalled();
expect(presentFn).toHaveBeenCalled();
expect(mockPopOverCtrl.dismiss).toHaveBeenCalled();
expect(mockCommonUtilService.translateMessage).toHaveBeenCalled();
expect(mockCommonUtilService.buildPermissionPopover).toHaveBeenCalled();
expect(mockCommonUtilService.getGivenPermissionStatus).toHaveBeenCalled();
done();
}, 0);
});

it('should not download transcript file if transcript is not available', (done) => {
const dismissFn = jest.fn(() => Promise.resolve());
const presentFn = jest.fn(() => Promise.resolve());
Expand Down Expand Up @@ -670,4 +365,4 @@ describe('DownloadTranscriptPopupComponent', () => {
it('ngOnInit', () => {
downloadTranscriptPopupComponent.ngOnInit();
});
});
});
Loading

0 comments on commit 0950830

Please sign in to comment.