Files
undergroundwires 3457fe18cf Fix OS switching not working on tree view UI
This commit resolves a rendering bug in the tree view component.
Previously, updating the tree collection prior to node updates led to
rendering errors due to the presence of non-existent nodes in the new
collection.

Changes:

- Implement manual control over the rendering process in tree view. This
  includes clearing the rendering queue and currently rendered nodes
  before updates, aligning the rendering process with the updated
  collection.
- Add Cypress E2E tests to test switching between all operating systems
  and script views, ensuring no uncaught errors and preventing
  regression.
- Replace hardcoded operating system lists in the download URL list view
  with a unified `getSupportedOsList()` method from the application,
  reducing duplication and simplifying future updates.
- Rename `initial-nodes` to `nodes` in `TreeView.vue` to reflect their
  mutable nature.
- Centralize the function for getting operating system names into
  `OperatingSystemNames.ts`, improving reusability in E2E tests.
2023-12-14 09:51:42 +01:00

25 lines
1.0 KiB
TypeScript

import {
describe, it, expect,
} from 'vitest';
import { ApplicationFactory } from '@/application/ApplicationFactory';
import { getOperatingSystemDisplayName } from '@/presentation/components/Shared/OperatingSystemNames';
import { OperatingSystem } from '@/domain/OperatingSystem';
describe('OperatingSystemNames', () => {
describe('getOperatingSystemDisplayName', () => {
describe('retrieving display names for supported operating systems', async () => {
// arrange
const application = await ApplicationFactory.Current.getApp();
const supportedOperatingSystems = application.getSupportedOsList();
supportedOperatingSystems.forEach((supportedOperatingSystem) => {
it(`should return a non-empty name for ${OperatingSystem[supportedOperatingSystem]}`, () => {
// act
const displayName = getOperatingSystemDisplayName(supportedOperatingSystem);
// assert
expect(displayName).to.have.length.greaterThanOrEqual(1);
});
});
});
});
});