angular-uitest 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +336 -0
- package/bin/samaro-allure.mjs +178 -0
- package/bin/samaro-init.mjs +407 -0
- package/bin/samaro-test.mjs +119 -0
- package/dist/cjs/config/index.d.ts +4 -0
- package/dist/cjs/config/index.d.ts.map +1 -0
- package/dist/cjs/config/index.js +11 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/config/playwright.component.config.d.ts +12 -0
- package/dist/cjs/config/playwright.component.config.d.ts.map +1 -0
- package/dist/cjs/config/playwright.component.config.js +42 -0
- package/dist/cjs/config/playwright.component.config.js.map +1 -0
- package/dist/cjs/config/playwright.config.d.ts +14 -0
- package/dist/cjs/config/playwright.config.d.ts.map +1 -0
- package/dist/cjs/config/playwright.config.js +53 -0
- package/dist/cjs/config/playwright.config.js.map +1 -0
- package/dist/cjs/config/vitest.config.d.ts +12 -0
- package/dist/cjs/config/vitest.config.d.ts.map +1 -0
- package/dist/cjs/config/vitest.config.js +60 -0
- package/dist/cjs/config/vitest.config.js.map +1 -0
- package/dist/cjs/helpers/allure.d.ts +141 -0
- package/dist/cjs/helpers/allure.d.ts.map +1 -0
- package/dist/cjs/helpers/allure.js +331 -0
- package/dist/cjs/helpers/allure.js.map +1 -0
- package/dist/cjs/helpers/api.d.ts +69 -0
- package/dist/cjs/helpers/api.d.ts.map +1 -0
- package/dist/cjs/helpers/api.js +163 -0
- package/dist/cjs/helpers/api.js.map +1 -0
- package/dist/cjs/helpers/auth.d.ts +35 -0
- package/dist/cjs/helpers/auth.d.ts.map +1 -0
- package/dist/cjs/helpers/auth.js +104 -0
- package/dist/cjs/helpers/auth.js.map +1 -0
- package/dist/cjs/helpers/config.d.ts +34 -0
- package/dist/cjs/helpers/config.d.ts.map +1 -0
- package/dist/cjs/helpers/config.js +70 -0
- package/dist/cjs/helpers/config.js.map +1 -0
- package/dist/cjs/helpers/debug.d.ts +48 -0
- package/dist/cjs/helpers/debug.d.ts.map +1 -0
- package/dist/cjs/helpers/debug.js +86 -0
- package/dist/cjs/helpers/debug.js.map +1 -0
- package/dist/cjs/helpers/index.d.ts +8 -0
- package/dist/cjs/helpers/index.d.ts.map +1 -0
- package/dist/cjs/helpers/index.js +76 -0
- package/dist/cjs/helpers/index.js.map +1 -0
- package/dist/cjs/helpers/setup.d.ts +50 -0
- package/dist/cjs/helpers/setup.d.ts.map +1 -0
- package/dist/cjs/helpers/setup.js +137 -0
- package/dist/cjs/helpers/setup.js.map +1 -0
- package/dist/cjs/src/index.d.ts +17 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +99 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/esm/config/index.d.ts +4 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.mjs +4 -0
- package/dist/esm/config/index.mjs.map +1 -0
- package/dist/esm/config/playwright.component.config.d.ts +12 -0
- package/dist/esm/config/playwright.component.config.d.ts.map +1 -0
- package/dist/esm/config/playwright.component.config.mjs +39 -0
- package/dist/esm/config/playwright.component.config.mjs.map +1 -0
- package/dist/esm/config/playwright.config.d.ts +14 -0
- package/dist/esm/config/playwright.config.d.ts.map +1 -0
- package/dist/esm/config/playwright.config.mjs +50 -0
- package/dist/esm/config/playwright.config.mjs.map +1 -0
- package/dist/esm/config/vitest.config.d.ts +12 -0
- package/dist/esm/config/vitest.config.d.ts.map +1 -0
- package/dist/esm/config/vitest.config.mjs +56 -0
- package/dist/esm/config/vitest.config.mjs.map +1 -0
- package/dist/esm/helpers/allure.d.ts +141 -0
- package/dist/esm/helpers/allure.d.ts.map +1 -0
- package/dist/esm/helpers/allure.mjs +306 -0
- package/dist/esm/helpers/allure.mjs.map +1 -0
- package/dist/esm/helpers/api.d.ts +69 -0
- package/dist/esm/helpers/api.d.ts.map +1 -0
- package/dist/esm/helpers/api.mjs +154 -0
- package/dist/esm/helpers/api.mjs.map +1 -0
- package/dist/esm/helpers/auth.d.ts +35 -0
- package/dist/esm/helpers/auth.d.ts.map +1 -0
- package/dist/esm/helpers/auth.mjs +96 -0
- package/dist/esm/helpers/auth.mjs.map +1 -0
- package/dist/esm/helpers/config.d.ts +34 -0
- package/dist/esm/helpers/config.d.ts.map +1 -0
- package/dist/esm/helpers/config.mjs +63 -0
- package/dist/esm/helpers/config.mjs.map +1 -0
- package/dist/esm/helpers/debug.d.ts +48 -0
- package/dist/esm/helpers/debug.d.ts.map +1 -0
- package/dist/esm/helpers/debug.mjs +76 -0
- package/dist/esm/helpers/debug.mjs.map +1 -0
- package/dist/esm/helpers/index.d.ts +8 -0
- package/dist/esm/helpers/index.d.ts.map +1 -0
- package/dist/esm/helpers/index.mjs +19 -0
- package/dist/esm/helpers/index.mjs.map +1 -0
- package/dist/esm/helpers/setup.d.ts +50 -0
- package/dist/esm/helpers/setup.d.ts.map +1 -0
- package/dist/esm/helpers/setup.mjs +95 -0
- package/dist/esm/helpers/setup.mjs.map +1 -0
- package/dist/esm/src/index.d.ts +17 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.mjs +40 -0
- package/dist/esm/src/index.mjs.map +1 -0
- package/dist/types/config/index.d.ts +4 -0
- package/dist/types/config/index.d.ts.map +1 -0
- package/dist/types/config/playwright.component.config.d.ts +12 -0
- package/dist/types/config/playwright.component.config.d.ts.map +1 -0
- package/dist/types/config/playwright.config.d.ts +14 -0
- package/dist/types/config/playwright.config.d.ts.map +1 -0
- package/dist/types/config/vitest.config.d.ts +12 -0
- package/dist/types/config/vitest.config.d.ts.map +1 -0
- package/dist/types/helpers/allure.d.ts +141 -0
- package/dist/types/helpers/allure.d.ts.map +1 -0
- package/dist/types/helpers/api.d.ts +69 -0
- package/dist/types/helpers/api.d.ts.map +1 -0
- package/dist/types/helpers/auth.d.ts +35 -0
- package/dist/types/helpers/auth.d.ts.map +1 -0
- package/dist/types/helpers/config.d.ts +34 -0
- package/dist/types/helpers/config.d.ts.map +1 -0
- package/dist/types/helpers/debug.d.ts +48 -0
- package/dist/types/helpers/debug.d.ts.map +1 -0
- package/dist/types/helpers/index.d.ts +8 -0
- package/dist/types/helpers/index.d.ts.map +1 -0
- package/dist/types/helpers/setup.d.ts +50 -0
- package/dist/types/helpers/setup.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +17 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/package.json +140 -0
- package/schematics/collection.json +11 -0
- package/schematics/ng-add/index.js +126 -0
- package/schematics/ng-add/schema.json +26 -0
- package/scripts/check-allure-results.mjs +300 -0
- package/scripts/rename-esm-files.mjs +76 -0
- package/types/allure.d.ts +76 -0
- package/types/global.d.ts +49 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Rename ESM build files from .js to .mjs
|
|
5
|
+
* This script runs after the ESM build to ensure proper module identification
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import fs from 'fs';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = path.dirname(__filename);
|
|
14
|
+
const ESM_DIR = path.join(__dirname, '..', 'dist', 'esm');
|
|
15
|
+
|
|
16
|
+
function renameFilesRecursively(dir) {
|
|
17
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
18
|
+
|
|
19
|
+
for (const entry of entries) {
|
|
20
|
+
const fullPath = path.join(dir, entry.name);
|
|
21
|
+
|
|
22
|
+
if (entry.isDirectory()) {
|
|
23
|
+
renameFilesRecursively(fullPath);
|
|
24
|
+
} else if (entry.name.endsWith('.js')) {
|
|
25
|
+
// Rename .js to .mjs
|
|
26
|
+
const newPath = fullPath.replace(/\.js$/, '.mjs');
|
|
27
|
+
fs.renameSync(fullPath, newPath);
|
|
28
|
+
|
|
29
|
+
// Also rename corresponding .js.map files
|
|
30
|
+
const mapPath = fullPath + '.map';
|
|
31
|
+
if (fs.existsSync(mapPath)) {
|
|
32
|
+
const newMapPath = newPath + '.map';
|
|
33
|
+
fs.renameSync(mapPath, newMapPath);
|
|
34
|
+
|
|
35
|
+
// Update the source map reference to point to .mjs
|
|
36
|
+
const mapContent = fs.readFileSync(newMapPath, 'utf-8');
|
|
37
|
+
const updatedMapContent = mapContent.replace(/"file":\s*"([^"]+)\.js"/g, '"file": "$1.mjs"');
|
|
38
|
+
fs.writeFileSync(newMapPath, updatedMapContent);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Update sourceMappingURL in the .mjs file
|
|
42
|
+
let content = fs.readFileSync(newPath, 'utf-8');
|
|
43
|
+
content = content.replace(
|
|
44
|
+
/\/\/\s*#\s*sourceMappingURL=(.+?)\.js\.map/g,
|
|
45
|
+
'// # sourceMappingURL=$1.mjs.map'
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
// Update import statements to use .mjs extension
|
|
49
|
+
content = content.replace(
|
|
50
|
+
/from\s+['"]([^'"]+)\.js['"]/g,
|
|
51
|
+
"from '$1.mjs'"
|
|
52
|
+
);
|
|
53
|
+
content = content.replace(
|
|
54
|
+
/import\s+['"]([^'"]+)\.js['"]/g,
|
|
55
|
+
"import '$1.mjs'"
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
fs.writeFileSync(newPath, content);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (!fs.existsSync(ESM_DIR)) {
|
|
64
|
+
console.error('❌ ESM directory not found:', ESM_DIR);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
console.log('📝 Renaming ESM files from .js to .mjs...');
|
|
69
|
+
|
|
70
|
+
try {
|
|
71
|
+
renameFilesRecursively(ESM_DIR);
|
|
72
|
+
console.log('✅ ESM files renamed successfully');
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error('❌ Error renaming ESM files:', error.message);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// Type definitions for Allure metadata in tests
|
|
2
|
+
|
|
3
|
+
export interface AllureLabel {
|
|
4
|
+
name: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface AllureLink {
|
|
9
|
+
name?: string;
|
|
10
|
+
url: string;
|
|
11
|
+
type?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface AllureParameter {
|
|
15
|
+
name: string;
|
|
16
|
+
value: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface AllureStep {
|
|
20
|
+
name: string;
|
|
21
|
+
status: 'passed' | 'failed' | 'broken' | 'skipped';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface AllureAttachment {
|
|
25
|
+
name: string;
|
|
26
|
+
type: string;
|
|
27
|
+
source: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface AllureTestCase {
|
|
31
|
+
name: string;
|
|
32
|
+
fullName: string;
|
|
33
|
+
historyId: string;
|
|
34
|
+
testCaseId?: string;
|
|
35
|
+
labels: AllureLabel[];
|
|
36
|
+
links: AllureLink[];
|
|
37
|
+
parameters: AllureParameter[];
|
|
38
|
+
steps: AllureStep[];
|
|
39
|
+
attachments: AllureAttachment[];
|
|
40
|
+
status: 'passed' | 'failed' | 'broken' | 'skipped';
|
|
41
|
+
statusDetails?: {
|
|
42
|
+
known?: boolean;
|
|
43
|
+
muted?: boolean;
|
|
44
|
+
flaky?: boolean;
|
|
45
|
+
message?: string;
|
|
46
|
+
trace?: string;
|
|
47
|
+
};
|
|
48
|
+
stage: 'scheduled' | 'running' | 'finished';
|
|
49
|
+
description?: string;
|
|
50
|
+
descriptionHtml?: string;
|
|
51
|
+
start?: number;
|
|
52
|
+
stop?: number;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Severity levels
|
|
56
|
+
export type Severity = 'blocker' | 'critical' | 'normal' | 'minor' | 'trivial';
|
|
57
|
+
|
|
58
|
+
// Label names
|
|
59
|
+
export type LabelName =
|
|
60
|
+
| 'epic'
|
|
61
|
+
| 'feature'
|
|
62
|
+
| 'story'
|
|
63
|
+
| 'suite'
|
|
64
|
+
| 'parentSuite'
|
|
65
|
+
| 'subSuite'
|
|
66
|
+
| 'owner'
|
|
67
|
+
| 'severity'
|
|
68
|
+
| 'tag'
|
|
69
|
+
| 'layer'
|
|
70
|
+
| 'host'
|
|
71
|
+
| 'thread'
|
|
72
|
+
| 'language'
|
|
73
|
+
| 'framework'
|
|
74
|
+
| 'package'
|
|
75
|
+
| 'testClass'
|
|
76
|
+
| 'testMethod';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Global type definitions for SamaroUItest
|
|
2
|
+
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
/**
|
|
6
|
+
* Debug interface for accessing Angular app state during tests
|
|
7
|
+
*/
|
|
8
|
+
__app_debug__?: {
|
|
9
|
+
getToken(): string | null;
|
|
10
|
+
getAuthState(): 'authenticated' | 'unauthenticated' | 'unavailable' | 'loading';
|
|
11
|
+
getCurrentUser(): {
|
|
12
|
+
username: string;
|
|
13
|
+
email: string;
|
|
14
|
+
bio: string | null;
|
|
15
|
+
image: string | null;
|
|
16
|
+
token: string;
|
|
17
|
+
} | null;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Angular testability interface
|
|
22
|
+
*/
|
|
23
|
+
getAngularTestability?(element: Element): {
|
|
24
|
+
isStable(): boolean;
|
|
25
|
+
whenStable(callback: () => void): void;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Environment variables
|
|
31
|
+
*/
|
|
32
|
+
namespace NodeJS {
|
|
33
|
+
interface ProcessEnv {
|
|
34
|
+
CI?: string;
|
|
35
|
+
API_MODE?: string;
|
|
36
|
+
API_BASE?: string;
|
|
37
|
+
DEBUG_INTERFACE_NAME?: string;
|
|
38
|
+
TIMEOUT_NAVIGATION?: string;
|
|
39
|
+
TIMEOUT_ACTION?: string;
|
|
40
|
+
TIMEOUT_EXPECTATION?: string;
|
|
41
|
+
SAMARO_AUTO_CLEAN?: string;
|
|
42
|
+
NG_API_URL?: string;
|
|
43
|
+
DEBUG?: string;
|
|
44
|
+
PWDEBUG?: string;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export {};
|