mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 02:36:05 +00:00
test: fix 15 failing unit tests
- Add missing TranslateService and LanguageService mock providers to OperationLogMigrationService tests (14 failures) - Use safe property access (optional chaining) for androidInterface in CapacitorReminderService logging (1 failure) All tests now passing: 6460 SUCCESS
This commit is contained in:
parent
292337ed6c
commit
ff1f656dc2
3 changed files with 26 additions and 2 deletions
|
|
@ -97,7 +97,7 @@ export class CapacitorReminderService {
|
|||
triggerInMs: triggerAt - now,
|
||||
triggerInMinutes: Math.round((triggerAt - now) / 1000 / 60),
|
||||
isAndroidWebView: IS_ANDROID_WEB_VIEW,
|
||||
hasNativeScheduler: !!androidInterface.scheduleNativeReminder,
|
||||
hasNativeScheduler: !!androidInterface?.scheduleNativeReminder,
|
||||
});
|
||||
|
||||
// On Android, use native AlarmManager for precision
|
||||
|
|
@ -196,7 +196,7 @@ export class CapacitorReminderService {
|
|||
Log.log('🚫 CapacitorReminderService.cancelReminder called', {
|
||||
notificationId,
|
||||
isAndroidWebView: IS_ANDROID_WEB_VIEW,
|
||||
hasNativeCanceller: !!androidInterface.cancelNativeReminder,
|
||||
hasNativeCanceller: !!androidInterface?.cancelNativeReminder,
|
||||
});
|
||||
|
||||
// On Android, use native cancellation
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
import { TestBed } from '@angular/core/testing';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { OperationLogMigrationService } from './operation-log-migration.service';
|
||||
import { OperationLogStoreService } from './operation-log-store.service';
|
||||
import { LegacyPfDbService } from '../../core/persistence/legacy-pf-db.service';
|
||||
import { ClientIdService } from '../../core/util/client-id.service';
|
||||
import { LanguageService } from '../../core/language/language.service';
|
||||
import { OpLog } from '../../core/log';
|
||||
import { ActionType, OpType } from '../core/operation.types';
|
||||
|
||||
|
|
@ -15,6 +17,8 @@ describe('OperationLogMigrationService', () => {
|
|||
let mockMatDialog: jasmine.SpyObj<MatDialog>;
|
||||
let mockStore: jasmine.SpyObj<Store>;
|
||||
let mockClientIdService: jasmine.SpyObj<ClientIdService>;
|
||||
let mockTranslateService: jasmine.SpyObj<TranslateService>;
|
||||
let mockLanguageService: jasmine.SpyObj<LanguageService>;
|
||||
|
||||
beforeEach(() => {
|
||||
mockOpLogStore = jasmine.createSpyObj('OperationLogStoreService', [
|
||||
|
|
@ -41,6 +45,12 @@ describe('OperationLogMigrationService', () => {
|
|||
mockClientIdService = jasmine.createSpyObj('ClientIdService', [
|
||||
'generateNewClientId',
|
||||
]);
|
||||
mockTranslateService = jasmine.createSpyObj('TranslateService', [
|
||||
'instant',
|
||||
'getBrowserCultureLang',
|
||||
'getBrowserLang',
|
||||
]);
|
||||
mockLanguageService = jasmine.createSpyObj('LanguageService', ['setLng']);
|
||||
|
||||
// Default returns for legacy db
|
||||
mockLegacyPfDb.hasUsableEntityData.and.resolveTo(false);
|
||||
|
|
@ -56,6 +66,8 @@ describe('OperationLogMigrationService', () => {
|
|||
{ provide: MatDialog, useValue: mockMatDialog },
|
||||
{ provide: Store, useValue: mockStore },
|
||||
{ provide: ClientIdService, useValue: mockClientIdService },
|
||||
{ provide: TranslateService, useValue: mockTranslateService },
|
||||
{ provide: LanguageService, useValue: mockLanguageService },
|
||||
],
|
||||
});
|
||||
service = TestBed.inject(OperationLogMigrationService);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
import { TestBed } from '@angular/core/testing';
|
||||
import { provideMockStore } from '@ngrx/store/testing';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { OperationLogMigrationService } from '../../persistence/operation-log-migration.service';
|
||||
import { OperationLogStoreService } from '../../persistence/operation-log-store.service';
|
||||
import { LegacyPfDbService } from '../../../core/persistence/legacy-pf-db.service';
|
||||
import { ClientIdService } from '../../../core/util/client-id.service';
|
||||
import { LanguageService } from '../../../core/language/language.service';
|
||||
import { ActionType, OpType } from '../../core/operation.types';
|
||||
import { resetTestUuidCounter } from './helpers/test-client.helper';
|
||||
|
||||
|
|
@ -23,6 +25,8 @@ describe('Legacy Data Migration Integration', () => {
|
|||
let mockLegacyPfDb: jasmine.SpyObj<LegacyPfDbService>;
|
||||
let mockClientIdService: jasmine.SpyObj<ClientIdService>;
|
||||
let mockMatDialog: jasmine.SpyObj<MatDialog>;
|
||||
let mockTranslateService: jasmine.SpyObj<TranslateService>;
|
||||
let mockLanguageService: jasmine.SpyObj<LanguageService>;
|
||||
|
||||
beforeEach(async () => {
|
||||
mockLegacyPfDb = jasmine.createSpyObj('LegacyPfDbService', [
|
||||
|
|
@ -37,6 +41,12 @@ describe('Legacy Data Migration Integration', () => {
|
|||
'generateNewClientId',
|
||||
]);
|
||||
mockMatDialog = jasmine.createSpyObj('MatDialog', ['open']);
|
||||
mockTranslateService = jasmine.createSpyObj('TranslateService', [
|
||||
'instant',
|
||||
'getBrowserCultureLang',
|
||||
'getBrowserLang',
|
||||
]);
|
||||
mockLanguageService = jasmine.createSpyObj('LanguageService', ['setLng']);
|
||||
|
||||
// Default mocks - no legacy data by default
|
||||
mockLegacyPfDb.hasUsableEntityData.and.returnValue(Promise.resolve(false));
|
||||
|
|
@ -49,6 +59,8 @@ describe('Legacy Data Migration Integration', () => {
|
|||
{ provide: LegacyPfDbService, useValue: mockLegacyPfDb },
|
||||
{ provide: ClientIdService, useValue: mockClientIdService },
|
||||
{ provide: MatDialog, useValue: mockMatDialog },
|
||||
{ provide: TranslateService, useValue: mockTranslateService },
|
||||
{ provide: LanguageService, useValue: mockLanguageService },
|
||||
],
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue