47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
/**
|
|
* Unit tests for LoadingScreen class
|
|
*/
|
|
|
|
const LoadingScreen = require('../../src/js/screens/loading');
|
|
|
|
describe('LoadingScreen', () => {
|
|
let loadingScreen;
|
|
|
|
beforeEach(() => {
|
|
loadingScreen = new LoadingScreen();
|
|
});
|
|
|
|
describe('constructor', () => {
|
|
it('should initialize with progress 0', () => {
|
|
expect(loadingScreen.getProgress()).toBe(0);
|
|
});
|
|
|
|
it('should have assets array', () => {
|
|
expect(loadingScreen.assets).toBeDefined();
|
|
expect(Array.isArray(loadingScreen.assets)).toBe(true);
|
|
expect(loadingScreen.assets.length).toBeGreaterThan(0);
|
|
});
|
|
});
|
|
|
|
describe('getProgress', () => {
|
|
it('should return current progress', () => {
|
|
expect(loadingScreen.getProgress()).toBe(0);
|
|
|
|
// Simulate progress update
|
|
loadingScreen.progress = 50;
|
|
expect(loadingScreen.getProgress()).toBe(50);
|
|
});
|
|
});
|
|
|
|
describe('asset loading', () => {
|
|
it('should have expected assets', () => {
|
|
expect(loadingScreen.assets).toContain('texture1.png');
|
|
expect(loadingScreen.assets).toContain('texture2.png');
|
|
expect(loadingScreen.assets).toContain('sound1.mp3');
|
|
expect(loadingScreen.assets).toContain('sound2.mp3');
|
|
expect(loadingScreen.assets).toContain('model1.obj');
|
|
expect(loadingScreen.assets).toContain('model2.obj');
|
|
});
|
|
});
|
|
});
|