|
|
@@ -108,6 +108,7 @@ class LearningModulesApiService {
|
|
|
schedules: [
|
|
|
{ GeneralID: 901, bxrq: '2026-08-10 00:00:00', sdsd: '19:00', Title: '同步伴学', plxm: '张老师', dszt: 10 },
|
|
|
{ GeneralID: 902, bxrq: '2026-08-03 00:00:00', sdsd: '18:00', Title: '历史伴学', plxm: '李老师', dszt: 30 },
|
|
|
+ { GeneralID: 903, bxrq: '2099-01-01 00:00:00', sdsd: '18:00', Title: '未来计划', plxm: '王老师', dszt: 0 },
|
|
|
],
|
|
|
refreshedAt: '2026-08-26T00:00:00.000Z',
|
|
|
});
|
|
|
@@ -298,9 +299,19 @@ describe('home learning modules', () => {
|
|
|
.find((button) => button.textContent?.trim() === '全部') as HTMLButtonElement;
|
|
|
allDates.click();
|
|
|
harness.fixture.detectChanges();
|
|
|
- expect(harness.routeNativeElement?.querySelectorAll('.schedule-list article').length).toBe(2);
|
|
|
+ expect(harness.routeNativeElement?.querySelectorAll('.schedule-list article').length).toBe(3);
|
|
|
expect(harness.routeNativeElement?.textContent).toContain('同步伴学');
|
|
|
expect(harness.routeNativeElement?.textContent).toContain('历史伴学');
|
|
|
+ const plannedIncompleteFilter = Array.from(harness.routeNativeElement?.querySelectorAll('.schedule-filters button') ?? [])
|
|
|
+ .find((button) => button.textContent?.includes('计划未完成')) as HTMLButtonElement;
|
|
|
+ expect(plannedIncompleteFilter.textContent).toContain('1');
|
|
|
+ plannedIncompleteFilter.click();
|
|
|
+ harness.fixture.detectChanges();
|
|
|
+ expect(harness.routeNativeElement?.querySelectorAll('.schedule-list article').length).toBe(1);
|
|
|
+ expect(harness.routeNativeElement?.textContent).toContain('计划未完成');
|
|
|
+ expect(harness.routeNativeElement?.textContent).not.toContain('未来计划');
|
|
|
+ (harness.routeNativeElement?.querySelector('.schedule-filters button') as HTMLButtonElement).click();
|
|
|
+ harness.fixture.detectChanges();
|
|
|
const api = TestBed.inject(ApiService) as unknown as LearningModulesApiService;
|
|
|
expect(api.lastScheduleParams['mode']).toBe('student');
|
|
|
expect(api.lastScheduleParams['limit']).toBe(500);
|