Experiment with visual testing

This commit is contained in:
David Taylor
2025-02-07 18:11:27 +00:00
parent 1a78a97141
commit 25d00c8db4
6 changed files with 320 additions and 18 deletions

View File

@@ -49,20 +49,8 @@ jobs:
fail-fast: false
matrix:
build_type: [backend, frontend, system, annotations]
target: [core, plugins, themes]
exclude:
- build_type: annotations
target: plugins
- build_type: annotations
target: themes
- build_type: backend
target: themes
- build_type: frontend
target: core # Handled by core_frontend_tests job (below)
include:
- build_type: system
target: chat
build_type: [system]
target: [core]
steps:
- name: Set working directory owner
@@ -258,7 +246,7 @@ jobs:
if: matrix.build_type == 'system' && matrix.target == 'core'
env:
CHECKOUT_TIMEOUT: 10
run: RAILS_ENABLE_TEST_LOG=1 RAILS_TEST_LOG_LEVEL=error bin/turbo_rspec --use-runtime-info --profile=50 --verbose --format documentation spec/system
run: pnpm percy exec -- bin/rspec spec/system/visual/basic_visual_spec.rb
- name: Plugin System Tests
if: matrix.build_type == 'system' && matrix.target == 'plugins'

View File

@@ -292,3 +292,5 @@ end
gem "dry-initializer", "~> 3.1"
gem "parallel"
gem "percy-capybara", "~> 5.0"

View File

@@ -332,6 +332,8 @@ GEM
parser (3.3.7.0)
ast (~> 2.4.1)
racc
percy-capybara (5.0.0)
capybara (>= 3)
pg (1.5.9)
pp (0.6.2)
prettyprint
@@ -693,6 +695,7 @@ DEPENDENCIES
omniauth-twitter
parallel
parallel_tests
percy-capybara (~> 5.0)
pg
pry-byebug
pry-rails

View File

@@ -14,6 +14,7 @@
"@glint/environment-ember-template-imports": "1.4.1-unstable.34c4510",
"@glint/template": "1.4.1-unstable.34c4510",
"@mixer/parallel-prettier": "^2.0.3",
"@percy/cli": "^1.30.7",
"@swc/core": "^1.10.12",
"chart.js": "3.5.1",
"chartjs-plugin-datalabels": "2.2.0",

295
pnpm-lock.yaml generated
View File

@@ -58,6 +58,9 @@ importers:
'@mixer/parallel-prettier':
specifier: ^2.0.3
version: 2.0.3(prettier@2.8.8)
'@percy/cli':
specifier: ^1.30.7
version: 1.30.7(typescript@5.6.3)
'@swc/core':
specifier: ^1.10.12
version: 1.10.12
@@ -704,7 +707,7 @@ importers:
version: 4.3.0
ember-this-fallback:
specifier: ^0.4.0
version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.97.1(@swc/core@1.10.12)(esbuild@0.24.2)))
version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5))
devDependencies:
ember-cli:
specifier: ~6.1.0
@@ -1044,7 +1047,7 @@ importers:
version: 5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.97.1(@swc/core@1.10.12)(esbuild@0.24.2))
ember-this-fallback:
specifier: ^0.4.0
version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.97.1(@swc/core@1.10.12)(esbuild@0.24.2)))
version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5))
handlebars:
specifier: ^4.7.8
version: 4.7.8
@@ -2445,6 +2448,75 @@ packages:
resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==}
engines: {node: ^16.14.0 || >=18.0.0}
'@percy/cli-app@1.30.7':
resolution: {integrity: sha512-MPgCCH5a7RRncy0ik7JDJorW216WshC5mRimYh4NWE8DB1t0z0zphust4LSy8dQU2Sz5pR9eWiGFJrYpa4QXJQ==}
engines: {node: '>=14'}
'@percy/cli-build@1.30.7':
resolution: {integrity: sha512-S6agG8pnMSpOF+5xMIMrl1zbWC59VfNuTKpbxB7gN4EHRB35aovKKcoVlQWYtUseQGn1WScIjA+jINCfojiNvg==}
engines: {node: '>=14'}
'@percy/cli-command@1.30.7':
resolution: {integrity: sha512-dBZne3Kwn+KCL5evlh1rDQ898er/hs5qcP1EAveYKWX/kdZxPBrhZcqVSmsNgAkxzIhUekZmej9HC0DiuCFxLQ==}
engines: {node: '>=14'}
hasBin: true
'@percy/cli-config@1.30.7':
resolution: {integrity: sha512-QdM5XE32x8KPsDv/RJjeHyYN+jTlU3HbtfDkYZDUykdEcidaBT+MNXjRq/cNn9CNqU4TzoRjuoOSHpE4cZUCCw==}
engines: {node: '>=14'}
'@percy/cli-exec@1.30.7':
resolution: {integrity: sha512-5hGgSNJuVxH0lKIa9Os/cFAGWy4wdPm4TkfhnnYH37nPP0IA11Z5GNbu9iiLGEvYG6o0BMj545SXvnvMeZeqTA==}
engines: {node: '>=14'}
'@percy/cli-snapshot@1.30.7':
resolution: {integrity: sha512-h0BT8zEQVtaE2KYXikDmmekm7Z7u60dppytPZOIdasLXyqo5stmGOnsUK+9JatpWBNanGGRLL8lJnZmqNf2aTg==}
engines: {node: '>=14'}
'@percy/cli-upload@1.30.7':
resolution: {integrity: sha512-N/2cEIe+e6XgBvB7Lx4nyyNygGRwjSp2MbpXKiFDpTOs8f8kJQRq7tnELa1Wos6HJ9m7pgb9sGWF2r9gq4MbTw==}
engines: {node: '>=14'}
'@percy/cli@1.30.7':
resolution: {integrity: sha512-0oX+dsiNkmk7PaERt500b/5WrVYRkG0AyLqVory4gRpeCCfgq5P+55o1cedqdSLQN5jIt9en/c+ZaQ1VaySbEA==}
engines: {node: '>=14'}
hasBin: true
'@percy/client@1.30.7':
resolution: {integrity: sha512-NZxqfg8QehJBDzGTfxOx7vM0f/Hu3HxeSPO/pj/dqvS2vghqdGiMoZq0pjGYMirZ7VRVr/G5vSc3sBEEzEj52Q==}
engines: {node: '>=14'}
'@percy/config@1.30.7':
resolution: {integrity: sha512-bFA/hwKhn0E6UKVKHWwbxyCdzsfhTWh+QdZdviAiyN2Pviyg8HmFgQfsKIFmtcizhQs/7Byx+1XpYnw8EvbGEg==}
engines: {node: '>=14'}
'@percy/core@1.30.7':
resolution: {integrity: sha512-FPoY6+bEe8dtIThbpvRVEbqtUU3Iimlpf1aOqqMTMQ0QTRxZ4wlhod+2a2X5lLfVPRw+ojtbPprQRWALsYJWiQ==}
engines: {node: '>=14'}
'@percy/dom@1.30.7':
resolution: {integrity: sha512-/3ZWIfd62VFkgtAeeg73orUYBC0D/RgopT2TNzjCFQAu3noduH/JH8pLQGvbfdt5QpqszTYYgL7uxLE/dfhH7w==}
'@percy/env@1.30.7':
resolution: {integrity: sha512-5Gx1aU6xV52PK17QMFp0ytnVcdKce0AYCvI19IDd4V61woBYu4wYUZG1UFFy8Mpi1Km+cfrdJ77UW2eDobdx8g==}
engines: {node: '>=14'}
'@percy/logger@1.30.7':
resolution: {integrity: sha512-eq9fgI+WUrbJXSk3gae+tDhB6sdLTEtK/Oms8ZDctCWWF2elXuYEMredcHIAe4g6ipAwxS0A5EeS2AXhaFEHyw==}
engines: {node: '>=14'}
'@percy/monitoring@1.30.7':
resolution: {integrity: sha512-43+tr6ZKTCx+yGOGoi9SYRCZl+PcbvbEUhSekAQTPML/2xNNCPREdGC78OYaXZ/CSFyP3q+K7Tmp3AGCwyCJQw==}
engines: {node: '>=14'}
'@percy/sdk-utils@1.30.7':
resolution: {integrity: sha512-HVQSg0MgY4Ziv0mtbeelz4aRBKoEQnKaKtWl7Nf6FzSELAdUXNz4BNRBAJWOt8O6M5MRXbk6/7jSFJStGsg5Zw==}
engines: {node: '>=14'}
'@percy/webdriver-utils@1.30.7':
resolution: {integrity: sha512-754f2K/55f37aZLgdCDHAMAZRlUbpkg7hC966Bu0OyRVhFjIj5rFohnwiVNQpE+uyFr6bhLWHDnU4aoCgv25WA==}
engines: {node: '>=14'}
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -3980,6 +4052,15 @@ packages:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
engines: {node: '>= 0.10'}
cosmiconfig@8.3.6:
resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
engines: {node: '>=14'}
peerDependencies:
typescript: '>=4.9.5'
peerDependenciesMeta:
typescript:
optional: true
cosmiconfig@9.0.0:
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
@@ -5429,6 +5510,11 @@ packages:
resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==}
engines: {node: '>= 4'}
image-size@1.2.0:
resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==}
engines: {node: '>=16.x'}
hasBin: true
immer@10.1.1:
resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==}
@@ -6783,6 +6869,9 @@ packages:
engines: {node: ^16.14.0 || >=18.0.0}
hasBin: true
pako@2.1.0:
resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==}
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -6868,6 +6957,9 @@ packages:
path-to-regexp@0.1.12:
resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
path-to-regexp@6.3.0:
resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
path-to-regexp@8.1.0:
resolution: {integrity: sha512-Bqn3vc8CMHty6zuD+tG23s6v2kwxslHEhTj4eYaVKGIEB+YX/2wd0/rgXLFD9G9id9KCtbVy/3ZgmvZjpa0UdQ==}
engines: {node: '>=16'}
@@ -7149,6 +7241,9 @@ packages:
queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
queue@6.0.2:
resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
quick-temp@0.1.8:
resolution: {integrity: sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==}
@@ -7928,6 +8023,12 @@ packages:
resolution: {integrity: sha512-vngT2JmkSapgq0z7uIoYtB9kWOOzMihAAYq/D3Pjm/ODOGMgS4r++B+OZ09U4hWR6EaOdy9eqQ7/8ygbH3wehA==}
engines: {node: 8.* || >= 10.*}
systeminformation@5.25.11:
resolution: {integrity: sha512-jI01fn/t47rrLTQB0FTlMCC+5dYx8o0RRF+R4BPiUNsvg5OdY0s9DKMFmJGrx5SwMZQ4cag0Gl6v8oycso9b/g==}
engines: {node: '>=8.0.0'}
os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android]
hasBin: true
table@6.9.0:
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
engines: {node: '>=10.0.0'}
@@ -8605,6 +8706,11 @@ packages:
resolution: {integrity: sha512-Hv9xxHtsJ9228wNhk03xnlDReUuWVvHwM4rIbjdAXYvHLs17xjuyF50N6XXFMN6N0omBaqgOok/MCK3At9fTAg==}
engines: {node: ^4.5 || 6.* || >= 7.*}
yaml@2.7.0:
resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
engines: {node: '>= 14'}
hasBin: true
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -10501,6 +10607,164 @@ snapshots:
- bluebird
- supports-color
'@percy/cli-app@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-command': 1.30.7(typescript@5.6.3)
'@percy/cli-exec': 1.30.7(typescript@5.6.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli-build@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-command': 1.30.7(typescript@5.6.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli-command@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/config': 1.30.7(typescript@5.6.3)
'@percy/core': 1.30.7(typescript@5.6.3)
'@percy/logger': 1.30.7
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli-config@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-command': 1.30.7(typescript@5.6.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli-exec@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-command': 1.30.7(typescript@5.6.3)
'@percy/logger': 1.30.7
cross-spawn: 7.0.6
which: 2.0.2
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli-snapshot@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-command': 1.30.7(typescript@5.6.3)
yaml: 2.7.0
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli-upload@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-command': 1.30.7(typescript@5.6.3)
fast-glob: 3.3.3
image-size: 1.2.0
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/cli@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/cli-app': 1.30.7(typescript@5.6.3)
'@percy/cli-build': 1.30.7(typescript@5.6.3)
'@percy/cli-command': 1.30.7(typescript@5.6.3)
'@percy/cli-config': 1.30.7(typescript@5.6.3)
'@percy/cli-exec': 1.30.7(typescript@5.6.3)
'@percy/cli-snapshot': 1.30.7(typescript@5.6.3)
'@percy/cli-upload': 1.30.7(typescript@5.6.3)
'@percy/client': 1.30.7
'@percy/logger': 1.30.7
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/client@1.30.7':
dependencies:
'@percy/env': 1.30.7
'@percy/logger': 1.30.7
pac-proxy-agent: 7.1.0
pako: 2.1.0
transitivePeerDependencies:
- supports-color
'@percy/config@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/logger': 1.30.7
ajv: 8.17.1
cosmiconfig: 8.3.6(typescript@5.6.3)
yaml: 2.7.0
transitivePeerDependencies:
- typescript
'@percy/core@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/client': 1.30.7
'@percy/config': 1.30.7(typescript@5.6.3)
'@percy/dom': 1.30.7
'@percy/logger': 1.30.7
'@percy/monitoring': 1.30.7(typescript@5.6.3)
'@percy/webdriver-utils': 1.30.7(typescript@5.6.3)
content-disposition: 0.5.4
cross-spawn: 7.0.6
extract-zip: 2.0.1
fast-glob: 3.3.3
micromatch: 4.0.8
mime-types: 2.1.35
pako: 2.1.0
path-to-regexp: 6.3.0
rimraf: 3.0.2
ws: 8.18.0
yaml: 2.7.0
transitivePeerDependencies:
- bufferutil
- supports-color
- typescript
- utf-8-validate
'@percy/dom@1.30.7': {}
'@percy/env@1.30.7':
dependencies:
'@percy/logger': 1.30.7
'@percy/logger@1.30.7': {}
'@percy/monitoring@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/config': 1.30.7(typescript@5.6.3)
'@percy/logger': 1.30.7
'@percy/sdk-utils': 1.30.7
systeminformation: 5.25.11
transitivePeerDependencies:
- typescript
'@percy/sdk-utils@1.30.7': {}
'@percy/webdriver-utils@1.30.7(typescript@5.6.3)':
dependencies:
'@percy/config': 1.30.7(typescript@5.6.3)
'@percy/sdk-utils': 1.30.7
transitivePeerDependencies:
- typescript
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -12247,6 +12511,15 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
cosmiconfig@8.3.6(typescript@5.6.3):
dependencies:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
typescript: 5.6.3
cosmiconfig@9.0.0(typescript@5.6.3):
dependencies:
env-paths: 2.2.1
@@ -13187,7 +13460,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
ember-this-fallback@0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.97.1(@swc/core@1.10.12)(esbuild@0.24.2))):
ember-this-fallback@0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.26.7))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)):
dependencies:
'@glimmer/syntax': 0.84.3
babel-plugin-ember-template-compilation: 2.3.0
@@ -14486,6 +14759,10 @@ snapshots:
ignore@7.0.3: {}
image-size@1.2.0:
dependencies:
queue: 6.0.2
immer@10.1.1: {}
immutable@4.3.7: {}
@@ -15910,6 +16187,8 @@ snapshots:
- bluebird
- supports-color
pako@2.1.0: {}
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -15974,6 +16253,8 @@ snapshots:
path-to-regexp@0.1.12: {}
path-to-regexp@6.3.0: {}
path-to-regexp@8.1.0: {}
path-type@4.0.0: {}
@@ -16268,6 +16549,10 @@ snapshots:
queue-tick@1.0.1: {}
queue@6.0.2:
dependencies:
inherits: 2.0.4
quick-temp@0.1.8:
dependencies:
mktemp: 0.4.0
@@ -17192,6 +17477,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
systeminformation@5.25.11: {}
table@6.9.0:
dependencies:
ajv: 8.17.1
@@ -18000,6 +18287,8 @@ snapshots:
fs-extra: 4.0.3
lodash.merge: 4.6.2
yaml@2.7.0: {}
yargs-parser@21.1.1: {}
yargs@17.7.2:

View File

@@ -0,0 +1,19 @@
# frozen_string_literal: true
require_relative "./visual_helper"
describe "Basic Visual" do
let!(:topic) { Fabricate(:topic_with_op) }
let!(:post) { Fabricate(:post, topic: topic) }
fab!(:user) { Fabricate(:admin) }
it "saves some screenshots" do
visit "/latest"
expect(page).to have_css(".topic-list-item")
sleep 3
screenshot("Topic List")
visit "/u/#{user.username_lower}"
sleep 3
screenshot("User Profile")
end
end