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.
Files changed (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +336 -0
  3. package/bin/samaro-allure.mjs +178 -0
  4. package/bin/samaro-init.mjs +407 -0
  5. package/bin/samaro-test.mjs +119 -0
  6. package/dist/cjs/config/index.d.ts +4 -0
  7. package/dist/cjs/config/index.d.ts.map +1 -0
  8. package/dist/cjs/config/index.js +11 -0
  9. package/dist/cjs/config/index.js.map +1 -0
  10. package/dist/cjs/config/playwright.component.config.d.ts +12 -0
  11. package/dist/cjs/config/playwright.component.config.d.ts.map +1 -0
  12. package/dist/cjs/config/playwright.component.config.js +42 -0
  13. package/dist/cjs/config/playwright.component.config.js.map +1 -0
  14. package/dist/cjs/config/playwright.config.d.ts +14 -0
  15. package/dist/cjs/config/playwright.config.d.ts.map +1 -0
  16. package/dist/cjs/config/playwright.config.js +53 -0
  17. package/dist/cjs/config/playwright.config.js.map +1 -0
  18. package/dist/cjs/config/vitest.config.d.ts +12 -0
  19. package/dist/cjs/config/vitest.config.d.ts.map +1 -0
  20. package/dist/cjs/config/vitest.config.js +60 -0
  21. package/dist/cjs/config/vitest.config.js.map +1 -0
  22. package/dist/cjs/helpers/allure.d.ts +141 -0
  23. package/dist/cjs/helpers/allure.d.ts.map +1 -0
  24. package/dist/cjs/helpers/allure.js +331 -0
  25. package/dist/cjs/helpers/allure.js.map +1 -0
  26. package/dist/cjs/helpers/api.d.ts +69 -0
  27. package/dist/cjs/helpers/api.d.ts.map +1 -0
  28. package/dist/cjs/helpers/api.js +163 -0
  29. package/dist/cjs/helpers/api.js.map +1 -0
  30. package/dist/cjs/helpers/auth.d.ts +35 -0
  31. package/dist/cjs/helpers/auth.d.ts.map +1 -0
  32. package/dist/cjs/helpers/auth.js +104 -0
  33. package/dist/cjs/helpers/auth.js.map +1 -0
  34. package/dist/cjs/helpers/config.d.ts +34 -0
  35. package/dist/cjs/helpers/config.d.ts.map +1 -0
  36. package/dist/cjs/helpers/config.js +70 -0
  37. package/dist/cjs/helpers/config.js.map +1 -0
  38. package/dist/cjs/helpers/debug.d.ts +48 -0
  39. package/dist/cjs/helpers/debug.d.ts.map +1 -0
  40. package/dist/cjs/helpers/debug.js +86 -0
  41. package/dist/cjs/helpers/debug.js.map +1 -0
  42. package/dist/cjs/helpers/index.d.ts +8 -0
  43. package/dist/cjs/helpers/index.d.ts.map +1 -0
  44. package/dist/cjs/helpers/index.js +76 -0
  45. package/dist/cjs/helpers/index.js.map +1 -0
  46. package/dist/cjs/helpers/setup.d.ts +50 -0
  47. package/dist/cjs/helpers/setup.d.ts.map +1 -0
  48. package/dist/cjs/helpers/setup.js +137 -0
  49. package/dist/cjs/helpers/setup.js.map +1 -0
  50. package/dist/cjs/src/index.d.ts +17 -0
  51. package/dist/cjs/src/index.d.ts.map +1 -0
  52. package/dist/cjs/src/index.js +99 -0
  53. package/dist/cjs/src/index.js.map +1 -0
  54. package/dist/esm/config/index.d.ts +4 -0
  55. package/dist/esm/config/index.d.ts.map +1 -0
  56. package/dist/esm/config/index.mjs +4 -0
  57. package/dist/esm/config/index.mjs.map +1 -0
  58. package/dist/esm/config/playwright.component.config.d.ts +12 -0
  59. package/dist/esm/config/playwright.component.config.d.ts.map +1 -0
  60. package/dist/esm/config/playwright.component.config.mjs +39 -0
  61. package/dist/esm/config/playwright.component.config.mjs.map +1 -0
  62. package/dist/esm/config/playwright.config.d.ts +14 -0
  63. package/dist/esm/config/playwright.config.d.ts.map +1 -0
  64. package/dist/esm/config/playwright.config.mjs +50 -0
  65. package/dist/esm/config/playwright.config.mjs.map +1 -0
  66. package/dist/esm/config/vitest.config.d.ts +12 -0
  67. package/dist/esm/config/vitest.config.d.ts.map +1 -0
  68. package/dist/esm/config/vitest.config.mjs +56 -0
  69. package/dist/esm/config/vitest.config.mjs.map +1 -0
  70. package/dist/esm/helpers/allure.d.ts +141 -0
  71. package/dist/esm/helpers/allure.d.ts.map +1 -0
  72. package/dist/esm/helpers/allure.mjs +306 -0
  73. package/dist/esm/helpers/allure.mjs.map +1 -0
  74. package/dist/esm/helpers/api.d.ts +69 -0
  75. package/dist/esm/helpers/api.d.ts.map +1 -0
  76. package/dist/esm/helpers/api.mjs +154 -0
  77. package/dist/esm/helpers/api.mjs.map +1 -0
  78. package/dist/esm/helpers/auth.d.ts +35 -0
  79. package/dist/esm/helpers/auth.d.ts.map +1 -0
  80. package/dist/esm/helpers/auth.mjs +96 -0
  81. package/dist/esm/helpers/auth.mjs.map +1 -0
  82. package/dist/esm/helpers/config.d.ts +34 -0
  83. package/dist/esm/helpers/config.d.ts.map +1 -0
  84. package/dist/esm/helpers/config.mjs +63 -0
  85. package/dist/esm/helpers/config.mjs.map +1 -0
  86. package/dist/esm/helpers/debug.d.ts +48 -0
  87. package/dist/esm/helpers/debug.d.ts.map +1 -0
  88. package/dist/esm/helpers/debug.mjs +76 -0
  89. package/dist/esm/helpers/debug.mjs.map +1 -0
  90. package/dist/esm/helpers/index.d.ts +8 -0
  91. package/dist/esm/helpers/index.d.ts.map +1 -0
  92. package/dist/esm/helpers/index.mjs +19 -0
  93. package/dist/esm/helpers/index.mjs.map +1 -0
  94. package/dist/esm/helpers/setup.d.ts +50 -0
  95. package/dist/esm/helpers/setup.d.ts.map +1 -0
  96. package/dist/esm/helpers/setup.mjs +95 -0
  97. package/dist/esm/helpers/setup.mjs.map +1 -0
  98. package/dist/esm/src/index.d.ts +17 -0
  99. package/dist/esm/src/index.d.ts.map +1 -0
  100. package/dist/esm/src/index.mjs +40 -0
  101. package/dist/esm/src/index.mjs.map +1 -0
  102. package/dist/types/config/index.d.ts +4 -0
  103. package/dist/types/config/index.d.ts.map +1 -0
  104. package/dist/types/config/playwright.component.config.d.ts +12 -0
  105. package/dist/types/config/playwright.component.config.d.ts.map +1 -0
  106. package/dist/types/config/playwright.config.d.ts +14 -0
  107. package/dist/types/config/playwright.config.d.ts.map +1 -0
  108. package/dist/types/config/vitest.config.d.ts +12 -0
  109. package/dist/types/config/vitest.config.d.ts.map +1 -0
  110. package/dist/types/helpers/allure.d.ts +141 -0
  111. package/dist/types/helpers/allure.d.ts.map +1 -0
  112. package/dist/types/helpers/api.d.ts +69 -0
  113. package/dist/types/helpers/api.d.ts.map +1 -0
  114. package/dist/types/helpers/auth.d.ts +35 -0
  115. package/dist/types/helpers/auth.d.ts.map +1 -0
  116. package/dist/types/helpers/config.d.ts +34 -0
  117. package/dist/types/helpers/config.d.ts.map +1 -0
  118. package/dist/types/helpers/debug.d.ts +48 -0
  119. package/dist/types/helpers/debug.d.ts.map +1 -0
  120. package/dist/types/helpers/index.d.ts +8 -0
  121. package/dist/types/helpers/index.d.ts.map +1 -0
  122. package/dist/types/helpers/setup.d.ts +50 -0
  123. package/dist/types/helpers/setup.d.ts.map +1 -0
  124. package/dist/types/src/index.d.ts +17 -0
  125. package/dist/types/src/index.d.ts.map +1 -0
  126. package/package.json +140 -0
  127. package/schematics/collection.json +11 -0
  128. package/schematics/ng-add/index.js +126 -0
  129. package/schematics/ng-add/schema.json +26 -0
  130. package/scripts/check-allure-results.mjs +300 -0
  131. package/scripts/rename-esm-files.mjs +76 -0
  132. package/types/allure.d.ts +76 -0
  133. 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 {};