本文整理匯總了TypeScript中models/shared/usage_data_reporter.UsageDataReporter類的典型用法代碼示例。如果您正苦於以下問題:TypeScript UsageDataReporter類的具體用法?TypeScript UsageDataReporter怎麽用?TypeScript UsageDataReporter使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了UsageDataReporter類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: it
it('should not update last reported time if reporting to remote server fails', async () => {
const yesterday = lastReportedYesterday();
mockDataSharingReportingGetAPIAndReturn(allowedReportingJSON);
mockDataSharingReportingStartAPI();
mockDataSharingServerGetEncryptionKeysAndReturn('some-signature', 'valid-public-key');
mockUsageDataAPIAndReturn(encryptedUsageData);
mockDataSharingServerAPIAndFail();
expect(localStorage.getItem(USAGE_DATA_LAST_REPORTED_TIME_KEY)).toBe(`${yesterday}`);
try {
await UsageDataReporter.report();
} catch (e) {
expect(jasmine.Ajax.requests.count()).toBe(5);
expect(jasmine.Ajax.requests.at(0).url).toBe(usageReportingGetURL);
expect(jasmine.Ajax.requests.at(1).url).toBe(usageReportingStartURL);
expect(jasmine.Ajax.requests.at(1).method).toBe('POST');
expect(jasmine.Ajax.requests.at(2).url).toBe(allowedReportingJSON._embedded.data_sharing_get_encryption_keys_url);
expect(jasmine.Ajax.requests.at(3).url).toBe(encryptedUsageDataURL);
expect(jasmine.Ajax.requests.at(3).method).toBe('POST');
expect(jasmine.Ajax.requests.at(4).url).toBe(allowedReportingJSON._embedded.data_sharing_server_url);
expect(jasmine.Ajax.requests.at(4).method).toBe('POST');
expect(jasmine.Ajax.requests.filter(usageReportingCompleteURL)).toHaveLength(0);
// verify that the last reported time is updated in the local storage
expect(new Date(+(localStorage.getItem(USAGE_DATA_LAST_REPORTED_TIME_KEY) || '')).getDate()).toBe(new Date().getDate());
expect(new Date(+(localStorage.getItem(USAGE_DATA_LAST_REPORTED_TIME_KEY) || '')).getTime()).toBeGreaterThan(yesterday);
}
});