К вашему сведению, это полная ошибка в окне терминала.
Неудачи:
1) ApplicationHelper application_logo_dark_url когда темная тема присутствует когда темный логотип присутствует должен вернуть правильный URL
Ошибка: expect(helper.application_logo_dark_url).to eq(SiteSetting.site_logo_dark_url)
ожидалось: "http://test.localhost/images/logo-dark.png"
получено: nil
(сравнение с помощью ==)
# ./spec/helpers/application_helper_spec.rb:190:in `block (5 levels) in ,<main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
2) BackupRestore::DatabaseRestorer#restore with real psql restores from PostgreSQL 10
Failure/Error: raise DatabaseRestoreError.new("psql failed: #{last_line}") if Process.last_status&.exitstatus != 0
BackupRestore::DatabaseRestoreError:
psql failed: ERROR: relation "foo" already exists
# ./lib/backup_restore/database_restorer.rb:92:in `restore_dump'
# ./lib/backup_restore/database_restorer.rb:26:in `restore'
# ./spec/lib/backup_restore/shared_context_for_backup_restore.rb:59:in `execute_stubbed_restore'
# ./spec/lib/backup_restore/database_restorer_spec.rb:40:in `restore'
# ./spec/lib/backup_restore/database_restorer_spec.rb:44:in `expect_restore_to_work'
# ./spec/lib/backup_restore/database_restorer_spec.rb:65:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
3) OptimizedImage.crop should produce cropped images (requires ImageMagick 7)
Failure/Error: expect(cropped_size).to be < 200
expected: < 200
got: 210
# ./spec/models/optimized_image_spec.rb:26:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
4) Jobs::CleanUpCrawlerStats keeps only the top records from the previous day
Failure/Error: expect(WebCrawlerRequest.all).to contain_exactly(req1, req2, req3)
expected collection contained: [#<WebCrawlerRequest id: 53, date: "2022-08-16", user_agent: "Googlebot 3.0", count: 100>, #<WebCrawl...count: 40>, #<WebCrawlerRequest id: 56, date: "2022-08-16", user_agent: "Googlebot 6.0", count: 50>]
actual collection contained: [#<WebCrawlerRequest id: 9, date: "2022-08-09", user_agent: "Googlebot", count: 4>, #<WebCrawlerReque...count: 40>, #<WebCrawlerRequest id: 56, date: "2022-08-16", user_agent: "Googlebot 6.0", count: 50>]
the extra elements were: [#<WebCrawlerRequest id: 9, date: "2022-08-09", user_agent: "Googlebot", count: 4>, #<WebCrawlerReque...ebot", count: 1>, #<WebCrawlerRequest id: 49, date: "2022-08-18", user_agent: "Superbot", count: 1>]
# ./spec/jobs/clean_up_crawler_stats_spec.rb:29:in `block (2 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
5) Report page_view_logged_in request reports with no page_view_logged_in records returns an empty report
Failure/Error: expect(report.data).to be_blank
expected `[{:x=>Mon, 08 Aug 2022, :y=>2}, {:x=>Tue, 09 Aug 2022, :y=>6}, {:x=>Wed, 10 Aug 2022, :y=>4}].blank?` to be truthy, got false
# ./spec/models/report_spec.rb:207:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
6) Report page_view_logged_in request reports with page_view_logged_in returns a report with data
Failure/Error: expect(report.total).to eq 49
expected: 49
got: 61
(compared using ==)
# ./spec/models/report_spec.rb:238:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
7) Report consolidated_page_views with no data works
Failure/Error: expect(report[:data]).to be_empty
expected `[{:x=>Mon, 08 Aug 2022, :y=>2}, {:x=>Tue, 09 Aug 2022, :y=>6}, {:x=>Wed, 10 Aug 2022, :y=>4}].empty?` to be truthy, got false
# ./spec/models/report_spec.rb:1196:in `block (5 levels) in <main>'
# ./spec/models/report_spec.rb:1195:in `each'
# ./spec/models/report_spec.rb:1195:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
8) Report http_background request reports with no http_background records returns an empty report
Failure/Error: expect(report.data).to be_blank
expected `[{:x=>Tue, 09 Aug 2022, :y=>1}, {:x=>Wed, 10 Aug 2022, :y=>2}].blank?` to be truthy, got false
# ./spec/models/report_spec.rb:207:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
9) Report http_background request reports with http_background returns a report with data
Failure/Error: expect(report.total).to eq 49
expected: 49
got: 52
(compared using ==)
# ./spec/models/report_spec.rb:238:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
10) Report http_total request reports with no http_total records returns an empty report
Failure/Error: expect(report.data).to be_blank
expected `[{:x=>Tue, 09 Aug 2022, :y=>14}, {:x=>Wed, 10 Aug 2022, :y=>28}].blank?` to be truthy, got false
# ./spec/models/report_spec.rb:207:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
11) Report http_total request reports with http_total returns a report with data
Failure/Error: expect(report.total).to eq 49
expected: 49
got: 91
(compared using ==)
# ./spec/models/report_spec.rb:238:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
12) Report page_view_anon request reports with no page_view_anon records returns an empty report
Failure/Error: expect(report.data).to be_blank
expected `[{:x=>Mon, 08 Aug 2022, :y=>1}, {:x=>Tue, 09 Aug 2022, :y=>7}, {:x=>Wed, 10 Aug 2022, :y=>10}, {:x=>Tue, 16 Aug 2022, :y=>1}].blank?` to be truthy, got false
# ./spec/models/report_spec.rb:207:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
13) Report page_view_anon request reports with page_view_anon returns a report with data
Failure/Error: expect(report.total).to eq 49
expected: 49
got: 68
(compared using ==)
# ./spec/models/report_spec.rb:238:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
14) Report http_2xx request reports with http_2xx returns a report with data
Failure/Error: expect(report.total).to eq 49
expected: 49
got: 106
(compared using ==)
# ./spec/models/report_spec.rb:238:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
15) Report http_2xx request reports with no http_2xx records returns an empty report
Failure/Error: expect(report.data).to be_blank
expected `[{:x=>Tue, 09 Aug 2022, :y=>18}, {:x=>Wed, 10 Aug 2022, :y=>37}, {:x=>Thu, 11 Aug 2022, :y=>2}].blank?` to be truthy, got false
# ./spec/models/report_spec.rb:207:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
16) Report page_view_crawler request reports with no page_view_crawler records returns an empty report
Failure/Error: expect(report.data).to be_blank
expected `[{:x=>Mon, 08 Aug 2022, :y=>3}, {:x=>Tue, 09 Aug 2022, :y=>9}, {:x=>Wed, 10 Aug 2022, :y=>7}, {:x=>Thu, 11 Aug 2022, :y=>2}, {:x=>Tue, 16 Aug 2022, :y=>3}].blank?` to be truthy, got false
# ./spec/models/report_spec.rb:207:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
17) Report page_view_crawler request reports with page_view_crawler returns a report with data
Failure/Error: expect(report.total).to eq 49
expected: 49
got: 73
(compared using ==)
# ./spec/models/report_spec.rb:238:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
18) Middleware::RequestTracker log_request can log requests correctly
Failure/Error: expect(ApplicationRequest.http_total.first.count).to eq(4)
expected: 4
got: 14
(compared using ==)
# ./spec/lib/middleware/request_tracker_spec.rb:93:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
19) Middleware::RequestTracker log_request can exclude/include based on custom header
Failure/Error: expect(ApplicationRequest.page_view_anon.first.count).to eq(2)
expected: 2
got: 1
(compared using ==)
# ./spec/lib/middleware/request_tracker_spec.rb:61:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
20) Middleware::RequestTracker log_request can log Discourse user agent requests correctly
Failure/Error: expect(ApplicationRequest.page_view_crawler.first.count).to eq(1)
expected: 1
got: 3
(compared using ==)
# ./spec/lib/middleware/request_tracker_spec.rb:114:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
21) Middleware::RequestTracker log_request when ignoring anonymous page views does not ignore anonymous requests for public sites
Failure/Error: expect(ApplicationRequest.http_total.first.count).to eq(2)
expected: 2
got: 14
(compared using ==)
# ./spec/lib/middleware/request_tracker_spec.rb:159:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
22) Middleware::RequestTracker log_request when ignoring anonymous page views ignores anonymous requests for private sites
Failure/Error: expect(ApplicationRequest.http_total.first.count).to eq(2)
expected: 2
got: 14
(compared using ==)
# ./spec/lib/middleware/request_tracker_spec.rb:174:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
23) Middleware::RequestTracker full request can handle rogue user agents
Failure/Error: expect(WebCrawlerRequest.where(user_agent: agent.encode('utf-8')).count).to eq(1)
expected: 1
got: 3
(compared using ==)
# ./spec/lib/middleware/request_tracker_spec.rb:35:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
24) ApplicationController#handle_theme selects the theme the user has selected
Failure/Error: expect(controller.theme_id).to eq(SiteSetting.default_theme_id)
expected: -1
got: nil
(compared using ==)
# ./spec/requests/application_controller_spec.rb:454:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
25) ApplicationController#handle_theme does not allow non privileged user to preview themes
Failure/Error: expect(controller.theme_id).to eq(SiteSetting.default_theme_id)
expected: -1
got: nil
(compared using ==)
# ./spec/requests/application_controller_spec.rb:492:in `block (3 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
26) CookedPostProcessor#post_process when processing images with title only generates overlay information using image title
Failure/Error:
expect(cpp.html).to match_html <<~HTML
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost#{upload.url}" data-download-href="//test.localhost/#{upload_path}/#{upload.sha1}" title="WAT"><img src="//test.localhost/#{upload_path}/optimized/1X/#{upload.sha1}_#{OptimizedImage::VERSION}_690x788.png" title="WAT" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WAT</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
HTML
after sanitizing for extra white space and compactness, expected:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/2X/a/a7f1ce9ea8991b68653b7ccce93545821a64eac8.png" data-download-href="//test.localhost/uploads/default/test_0/a7f1ce9ea8991b68653b7ccce93545821a64eac8" title="WAT"><img src="//test.localhost/uploads/default/test_0/original/1X/a7f1ce9ea8991b68653b7ccce93545821a64eac8.png" title="WAT" width="690" height="788"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WAT</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg>
</div></a></div></p>
to match:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/1X/a7f1ce9ea8991b68653b7ccce93545821a64eac8.png" data-download-href="//test.localhost/uploads/default/test_0/a7f1ce9ea8991b68653b7ccce93545821a64eac8" title="WAT"><img src="//test.localhost/uploads/default/test_0/optimized/1X/a7f1ce9ea8991b68653b7ccce93545821a64eac8_2_690x788.png" title="WAT" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WAT</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
# ./spec/lib/cooked_post_processor_spec.rb:712:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
27) CookedPostProcessor#post_process when processing images with iPhone X screenshots crops the image
Failure/Error:
expect(cpp.html).to match_html <<~HTML
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost#{upload.url}" data-download-href="//test.localhost/#{upload_path}/#{upload.sha1}" title="logo.png"><img src="//test.localhost/#{upload_path}/optimized/1X/#{upload.sha1}_#{OptimizedImage::VERSION}_230x500.png" width="230" height="500"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">logo.png</span><span class="informations">1125×2436 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
HTML
after sanitizing for extra white space and compactness, expected:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/2X/a/a4bde38a475244bf968492a174dae41c6fc586ed.png" data-download-href="//test.localhost/uploads/default/test_0/a4bde38a475244bf968492a174dae41c6fc586ed" title="logo.png"><img src="//test.localhost/uploads/default/test_0/original/1X/a4bde38a475244bf968492a174dae41c6fc586ed.png" width="230" height="500"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">logo.png</span><span class="informations">1125×2436 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg>
</div></a></div></p>
to match:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/1X/a4bde38a475244bf968492a174dae41c6fc586ed.png" data-download-href="//test.localhost/uploads/default/test_0/a4bde38a475244bf968492a174dae41c6fc586ed" title="logo.png"><img src="//test.localhost/uploads/default/test_0/optimized/1X/a4bde38a475244bf968492a174dae41c6fc586ed_2_230x500.png" width="230" height="500"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">logo.png</span><span class="informations">1125×2436 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
# ./spec/lib/cooked_post_processor_spec.rb:616:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
28) CookedPostProcessor#post_process when processing images with alt only generates overlay information using image alt
Failure/Error:
expect(cpp.html).to match_html <<~HTML
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost#{upload.url}" data-download-href="//test.localhost/#{upload_path}/#{upload.sha1}" title="RED"><img src="//test.localhost/#{upload_path}/optimized/1X/#{upload.sha1}_#{OptimizedImage::VERSION}_690x788.png" alt="RED" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">RED</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
HTML
after sanitizing for extra white space and compactness, expected:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/2X/4/42792bed56e0662f221c635573264fa7826744bf.png" data-download-href="//test.localhost/uploads/default/test_0/42792bed56e0662f221c635573264fa7826744bf" title="RED"><img src="//test.localhost/uploads/default/test_0/original/1X/42792bed56e0662f221c635573264fa7826744bf.png" alt="RED" width="690" height="788"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">RED</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg>
</div></a></div></p>
to match:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/1X/42792bed56e0662f221c635573264fa7826744bf.png" data-download-href="//test.localhost/uploads/default/test_0/42792bed56e0662f221c635573264fa7826744bf" title="RED"><img src="//test.localhost/uploads/default/test_0/optimized/1X/42792bed56e0662f221c635573264fa7826744bf_2_690x788.png" alt="RED" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">RED</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
# ./spec/lib/cooked_post_processor_spec.rb:740:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
29) CookedPostProcessor#post_process when processing images with large images generates overlay information
Failure/Error:
expect(cpp.html).to match_html <<~HTML
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost#{upload.url}" data-download-href="//test.localhost/#{upload_path}/#{upload.sha1}" title="logo.png"><img src="//test.localhost/#{upload_path}/optimized/1X/#{upload.sha1}_#{OptimizedImage::VERSION}_690x788.png" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">logo.png</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
HTML
after sanitizing for extra white space and compactness, expected:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/2X/2/226f54f14b0598565102b28645b46d185fc9e074.png" data-download-href="//test.localhost/uploads/default/test_0/226f54f14b0598565102b28645b46d185fc9e074" title="logo.png"><img src="//test.localhost/uploads/default/test_0/original/1X/226f54f14b0598565102b28645b46d185fc9e074.png" width="690" height="788"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">logo.png</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg>
</div></a></div></p>
to match:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/1X/226f54f14b0598565102b28645b46d185fc9e074.png" data-download-href="//test.localhost/uploads/default/test_0/226f54f14b0598565102b28645b46d185fc9e074" title="logo.png"><img src="//test.localhost/uploads/default/test_0/optimized/1X/226f54f14b0598565102b28645b46d185fc9e074_2_690x788.png" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">logo.png</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
# ./spec/lib/cooked_post_processor_spec.rb:429:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
30) CookedPostProcessor#post_process when processing images with large images when using subfolders should escape the filename
Failure/Error: stub_request(:get, "http://#{Discourse.current_hostname}/subfolder#{upload.url}").to_return(status: 200, body: File.new(Discourse.store.path_for(upload)))
Errno::ENOENT:
No such file or directory @ rb_sysopen - /home/praj/discourse/public/uploads/default/test_0/original/1X/02e0b630309b80d1e825a507acab66738c6806e4.png
# ./spec/lib/cooked_post_processor_spec.rb:638:in `initialize'
# ./spec/lib/cooked_post_processor_spec.rb:638:in `new'
# ./spec/lib/cooked_post_processor_spec.rb:638:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
31) CookedPostProcessor#post_process when processing images with large images when using subfolders generates overlay information
Failure/Error: stub_request(:get, "http://#{Discourse.current_hostname}/subfolder#{upload.url}").to_return(status: 200, body: File.new(Discourse.store.path_for(upload)))
Errno::ENOENT:
No such file or directory @ rb_sysopen - /home/praj/discourse/public/uploads/default/test_0/original/1X/02e0b630309b80d1e825a507acab66738c6806e4.png
# ./spec/lib/cooked_post_processor_spec.rb:638:in `initialize'
# ./spec/lib/cooked_post_processor_spec.rb:638:in `new'
# ./spec/lib/cooked_post_processor_spec.rb:638:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
32) CookedPostProcessor#post_process when processing images with title and alt generates overlay information using image title and ignores alt
Failure/Error:
expect(cpp.html).to match_html <<~HTML
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost#{upload.url}" data-download-href="//test.localhost/#{upload_path}/#{upload.sha1}" title="WAT"><img src="//test.localhost/#{upload_path}/optimized/1X/#{upload.sha1}_#{OptimizedImage::VERSION}_690x788.png" title="WAT" alt="RED" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WAT</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
HTML
after sanitizing for extra white space and compactness, expected:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/2X/a/a8535366575dbb938beeb6902a5033c18eb995bd.png" data-download-href="//test.localhost/uploads/default/test_0/a8535366575dbb938beeb6902a5033c18eb995bd" title="WAT"><img src="//test.localhost/uploads/default/test_0/original/1X/a8535366575dbb938beeb6902a5033c18eb995bd.png" title="WAT" alt="RED" width="690" height="788"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WAT</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg>
</div></a></div></p>
to match:
<p><div class="lightbox-wrapper"><a class="lightbox" href="//test.localhost/uploads/default/test_0/original/1X/a8535366575dbb938beeb6902a5033c18eb995bd.png" data-download-href="//test.localhost/uploads/default/test_0/a8535366575dbb938beeb6902a5033c18eb995bd" title="WAT"><img src="//test.localhost/uploads/default/test_0/optimized/1X/a8535366575dbb938beeb6902a5033c18eb995bd_2_690x788.png" title="WAT" alt="RED" width="690" height="788"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WAT</span><span class="informations">1750×2000 1.21 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div></p>
# ./spec/lib/cooked_post_processor_spec.rb:684:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
33) Wizard::Builder styling with colors when the default theme has been overridden by a theme without a color scheme should set the right default values
Failure/Error: expect(colors_field.required).to eq(false)
expected: false
got: true
(compared using ==)
Diff:
@@ -1 +1 @@
-false
+true
# ./spec/lib/wizard/wizard_builder_spec.rb:100:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
34) Wizard::Builder styling with colors when the default theme has not been override should set the right default values
Failure/Error: SiteSetting.find_by(name: "default_theme_id").destroy!
NoMethodError:
undefined method `destroy!' for nil:NilClass
# ./spec/lib/wizard/wizard_builder_spec.rb:71:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
35) Wizard::Builder styling with colors when the default theme has been override and the color scheme doesn't have a base scheme fallbacks to the color scheme name
Failure/Error: expect(colors_field.required).to eq(false)
expected: false
got: true
(compared using ==)
Diff:
@@ -1 +1 @@
-false
+true
# ./spec/lib/wizard/wizard_builder_spec.rb:89:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
36) Wizard::Builder styling with colors when the default theme has been overridden by a theme with a color scheme should set the right default values
Failure/Error: expect(colors_field.required).to eq(false)
expected: false
got: true
(compared using ==)
Diff:
@@ -1 +1 @@
-false
+true
# ./spec/lib/wizard/wizard_builder_spec.rb:112:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
Завершено за 33 минуты 32 секунды (загрузка файлов заняла 13,53 секунды)
16862 примера, 36 провалов, 7 отложено
Примеры с ошибками:
rspec ./spec/helpers/application_helper_spec.rb:189 # ApplicationHelper application_logo_dark_url когда включена темная тема когда присутствует темный логотип должен вернуть правильный URL
rspec ./spec/lib/backup_restore/database_restorer_spec.rb:63 # BackupRestore::DatabaseRestorer#restore с реальным psql восстанавливает из PostgreSQL 10
rspec ./spec/models/optimized_image_spec.rb:8 # OptimizedImage.crop должен создавать обрезанные изображения (требуется ImageMagick 7)
rspec ./spec/jobs/clean_up_crawler_stats_spec.rb:17 # Jobs::CleanUpCrawlerStats сохраняет только верхние записи за предыдущий день
rspec ./spec/models/report_spec.rb[1:17:1:1] # Report page_view_logged_in отчеты по запросу без записей page_view_logged_in возвращают пустой отчет
rspec ./spec/models/report_spec.rb[1:17:2:1] # Report page_view_logged_in отчеты по запросу с page_view_logged_in возвращают отчет с данными
rspec ./spec/models/report_spec.rb:1194 # Report consolidated_page_views без данных работает
rspec ./spec/models/report_spec.rb[1:12:1:1] # Report http_background отчеты по запросу без записей http_background возвращают пустой отчет
rspec ./spec/models/report_spec.rb[1:12:2:1] # Report http_background отчеты по запросу с http_background возвращают отчет с данными
rspec ./spec/models/report_spec.rb[1:10:1:1] # Report http_total отчеты по запросу без записей http_total возвращают пустой отчет
rspec ./spec/models/report_spec.rb[1:10:2:1] # Report http_total отчеты по запросу с http_total возвращают отчет с данными
rspec ./spec/models/report_spec.rb[1:18:1:1] # Report page_view_anon отчеты по запросу без записей page_view_anon возвращают пустой отчет
rspec ./spec/models/report_spec.rb[1:18:2:1] # Report page_view_anon отчеты по запросу с page_view_anon возвращают отчет с данными
rspec ./spec/models/report_spec.rb[1:11:2:1] # Report http_2xx отчеты по запросу с http_2xx возвращают отчет с данными
rspec ./spec/models/report_spec.rb[1:11:1:1] # Report http_2xx отчеты по запросу без записей http_2xx возвращают пустой отчет
rspec ./spec/models/report_spec.rb[1:16:1:1] # Report page_view_crawler отчеты по запросу без записей page_view_crawler возвращают пустой отчет
rspec ./spec/models/report_spec.rb[1:16:2:1] # Report page_view_crawler отчеты по запросу с page_view_crawler возвращают отчет с данными
rspec ./spec/lib/middleware/request_tracker_spec.rb:64 # Middleware::RequestTracker log_request может правильно регистрировать запросы
rspec ./spec/lib/middleware/request_tracker_spec.rb:53 # Middleware::RequestTracker log_request может исключать/включать на основе пользовательского заголовка
rspec ./spec/lib/middleware/request_tracker_spec.rb:103 # Middleware::RequestTracker log_request может правильно регистрировать запросы с User-Agent Discourse
rspec ./spec/lib/middleware/request_tracker_spec.rb:151 # Middleware::RequestTracker log_request при игнорировании анонимных просмотров страниц не игнорирует анонимные запросы для публичных сайтов
rspec ./spec/lib/middleware/request_tracker_spec.rb:166 # Middleware::RequestTracker log_request при игнорировании анонимных просмотров страниц игнорирует анонимные запросы для частных сайтов
rspec ./spec/lib/middleware/request_tracker_spec.rb:27 # Middleware::RequestTracker полный запрос может обрабатывать вредоносные User-Agent
rspec ./spec/requests/application_controller_spec.rb:443 # ApplicationController#handle_theme выбирает тему, выбранную пользователем
rspec ./spec/requests/application_controller_spec.rb:489 # ApplicationController#handle_theme не позволяет непривилегированному пользователю просматривать темы
rspec ./spec/lib/cooked_post_processor_spec.rb:709 # CookedPostProcessor#post_process при обработке изображений только с заголовком генерирует информацию о наложении, используя заголовок изображения
rspec ./spec/lib/cooked_post_processor_spec.rb:613 # CookedPostProcessor#post_process при обработке изображений со скриншотами iPhone X обрезает изображение
rspec ./spec/lib/cooked_post_processor_spec.rb:737 # CookedPostProcessor#post_process при обработке изображений только с alt генерирует информацию о наложении, используя alt изображения
rspec ./spec/lib/cooked_post_processor_spec.rb:426 # CookedPostProcessor#post_process при обработке изображений с большими изображениями генерирует информацию о наложении
rspec ./spec/lib/cooked_post_processor_spec.rb:654 # CookedPostProcessor#post_process при обработке изображений с большими изображениями при использовании подпапок должен экранировать имя файла
rspec ./spec/lib/cooked_post_processor_spec.rb:644 # CookedPostProcessor#post_process при обработке изображений с большими изображениями при использовании подпапок генерирует информацию о наложении
rspec ./spec/lib/cooked_post_processor_spec.rb:681 # CookedPostProcessor#post_process при обработке изображений с заголовком и alt генерирует информацию о наложении, используя заголовок изображения, и игнорирует alt
rspec ./spec/lib/wizard/wizard_builder_spec.rb:99 # Wizard::Builder стилизация с цветами когда тема по умолчанию была переопределена темой без цветовой схемы должны быть установлены правильные значения по умолчанию
rspec ./spec/lib/wizard/wizard_builder_spec.rb:74 # Wizard::Builder стилизация с цветами когда тема по умолчанию не была переопределена должны быть установлены правильные значения по умолчанию
rspec ./spec/lib/wizard/wizard_builder_spec.rb:88 # Wizard::Builder стилизация с цветами когда тема по умолчанию была переопределена и цветовая схема не имеет базовой схемы использует имя цветовой схемы в качестве резервного варианта
rspec ./spec/lib/wizard/wizard_builder_spec.rb:111 # Wizard::Builder стилизация с цветами когда тема по умолчанию была переопределена темой с цветовой схемой должны быть установлены правильные значения по умолчанию
Случайное перемешание с seed 55699
Следующие тесты не прошли:
./spec/helpers/application_helper_spec.rb:189
./spec/lib/backup_restore/database_restorer_spec.rb:63
./spec/models/optimized_image_spec.rb:8
./spec/jobs/clean_up_crawler_stats_spec.rb:17
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:1194
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/lib/middleware/request_tracker_spec.rb:64
./spec/lib/middleware/request_tracker_spec.rb:53
./spec/lib/middleware/request_tracker_spec.rb:103
./spec/lib/middleware/request_tracker_spec.rb:151
./spec/lib/middleware/request_tracker_spec.rb:166
./spec/lib/middleware/request_tracker_spec.rb:27
./spec/requests/application_controller_spec.rb:443
./spec/requests/application_controller_spec.rb:489
./spec/lib/cooked_post_processor_spec.rb:709
./spec/lib/cooked_post_processor_spec.rb:613
./spec/lib/cooked_post_processor_spec.rb:737
./spec/lib/cooked_post_processor_spec.rb:426
./spec/lib/cooked_post_processor_spec.rb:654
./spec/lib/cooked_post_processor_spec.rb:644
./spec/lib/cooked_post_processor_spec.rb:681
./spec/lib/wizard/wizard_builder_spec.rb:99
./spec/lib/wizard/wizard_builder_spec.rb:74
./spec/lib/wizard/wizard_builder_spec.rb:88
./spec/lib/wizard/wizard_builder_spec.rb:111
Запуск Rspec: ./spec/lib/wizard/wizard_builder_spec.rb:111
Следующие тесты не прошли:
./spec/helpers/application_helper_spec.rb:189
./spec/lib/backup_restore/database_restorer_spec.rb:63
./spec/models/optimized_image_spec.rb:8
./spec/jobs/clean_up_crawler_stats_spec.rb:17
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:1194
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:224
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:206
./spec/models/report_spec.rb:224
./spec/lib/middleware/request_tracker_spec.rb:64
./spec/lib/middleware/request_tracker_spec.rb:53
./spec/lib/middleware/request_tracker_spec.rb:103
./spec/lib/middleware/request_tracker_spec.rb:151
./spec/lib/middleware/request_tracker_spec.rb:166
./spec/lib/middleware/request_tracker_spec.rb:27
./spec/requests/application_controller_spec.rb:443
./spec/requests/application_controller_spec.rb:489
./spec/lib/cooked_post_processor_spec.rb:709
./spec/lib/cooked_post_processor_spec.rb:613
./spec/lib/cooked_post_processor_spec.rb:737
./spec/lib/cooked_post_processor_spec.rb:426
./spec/lib/cooked_post_processor_spec.rb:654
./spec/lib/cooked_post_processor_spec.rb:644
./spec/lib/cooked_post_processor_spec.rb:681
./spec/lib/wizard/wizard_builder_spec.rb:99
./spec/lib/wizard/wizard_builder_spec.rb:74
./spec/lib/wizard/wizard_builder_spec.rb:88
./spec/lib/wizard/wizard_builder_spec.rb:111
Примеры не найдены.
Запуск Rspec: ./spec/lib/wizard/wizard_builder_spec.rb:88
ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ: Использование устаревшей обработки соединений устарело. Пожалуйста, установите
`legacy_connection_handling` в значение `false` в вашем приложении.
Новая обработка соединений не поддерживает геттеры и сеттеры
`connection_handlers`.
Подробнее о миграции читайте здесь: https://guides.rubyonrails.org/active_record_multiple_databases.html#migrate-to-the-new-connection-handling
(вызов из <top (required)> в /home/praj/discourse/config/environment.rb:7)
Параметры запуска: include {:locations=>{"./spec/lib/wizard/wizard_builder_spec.rb"=>[88]}}
Случайное перемешание с seed 7356
F
Неудачи:
1) Wizard::Builder стилизация с цветами когда тема по умолчанию была переопределена и цветовая схема не имеет базовой схемы использует имя цветовой схемы в качестве резервного варианта
Ошибка в: expect(colors_field.required).to eq(false)
ожидалось: false
получено: true
(сравнение с помощью ==)
Различия:
@@ -1 +1 @@
-false
+true
# ./spec/lib/wizard/wizard_builder_spec.rb:89:in `block (5 levels) in <main>'
# ./spec/rails_helper.rb:278:in `block (2 levels) in <top (required)>'
Завершено за 0.76303 секунды (загрузка файлов заняла 5.98 секунды)
1 пример, 1 неудача
Неудачные примеры:
rspec ./spec/lib/wizard/wizard_builder_spec.rb:88 # Wizard::Builder стилизация с цветами когда тема по умолчанию была переопределена и цветовая схема не имеет базовой схемы использует имя цветовой схемы в качестве резервного варианта
Случайное перемешание с seed 7356
Следующие тесты не прошли:
./spec/lib/wizard/wizard_builder_spec.rb:88
Запуск Rspec: ./spec/lib/wizard/wizard_builder_spec.rb:111
Запуск Rspec: ./spec/lib/wizard/wizard_builder_spec.rb:88
ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ: Использование устаревшей обработки соединений устарело. Пожалуйста, установите
`legacy_connection_handling` в значение `false` в вашем приложении.
Новая обработка соединений не поддерживает геттеры и сеттеры
`connection_handlers`.
Подробнее о миграции читайте здесь: https://guides.rubyonrails.org/active_record_multiple_databases.html#migrate-to-the-new-connection-handling
(вызов из <top (required)> в /home/praj/discourse/config/environment.rb:7)
Параметры запуска: include {:locations=>{"./spec/lib/wizard/wizard_builder_spec.rb"=>[88]}}
Случайное перемешание с seed 55393
RSpec завершает работу и выведет сводный отчет... Прервите еще раз для принудительного выхода.
^C
Завершено за 0.45834 секунды (загрузка файлов заняла 3.6 секунды)
0 примеров, 0 неудач
Случайное перемешание с seed 55393
praj@LAPTOP-M3AHJNKB:~/discourse$ npm config set proxy null
praj@LAPTOP-M3AHJNKB:~/discourse$ npm config set https-proxy null
praj@LAPTOP-M3AHJNKB:~/discourse$ npm config set registry http://registry.npmjs.org/
praj@LAPTOP-M3AHJNKB:~/discourse$ bundle exec rake autospec
Если отслеживание файлов не работает, вы можете принудительно включить опрос с помощью: bundle exec rake autospec p l=3
Нажмите [ENTER], чтобы остановить текущий запуск
Запуск Rspec: spec
ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ: Использование устаревшей обработки соединений устарело. Пожалуйста, установите
`legacy_connection_handling` в значение `false` в вашем приложении.
Новая обработка соединений не поддерживает геттеры и сеттеры
`connection_handlers`.
Подробнее о миграции читайте здесь: https://guides.rubyonrails.org/active_record_multiple_databases.html#migrate-to-the-new-connection-handling
(вызов из <top (required)> в /home/praj/discourse/config/environment.rb:7)
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/discourse-hbr
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/discourse-hbr
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/discourse-common
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/discourse-common
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/admin
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/admin
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/discourse-widget-hbs
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/discourse-widget-hbs
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/discourse-ensure-deprecation-order
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/discourse-ensure-deprecation-order
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/select-kit
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/select-kit
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/pretty-text
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/pretty-text
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/discourse
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/discourse
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/truth-helpers
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/truth-helpers
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
** ОШИБКА: за этой директорией уже ведется наблюдение! **
Директория: /home/praj/discourse/app/assets/javascripts/node_modules/wizard
уже наблюдается через: /home/praj/discourse/app/assets/javascripts/wizard
ПОДРОБНЕЕ: https://github.com/guard/listen/blob/master/README.md
Случайное перемешание с seed 22377
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ: ActiveRecord::Base.writing_role устарел и будет удален в Rails 7.1.
Используйте `ActiveRecord.writing_role` вместо этого.
(вызов из block (2 levels) in <top (required)> в /home/praj/discourse/spec/rails_helper.rb:304)
..........................................................................................................................................................................................................................................................................................................................................................................................................................FFFF.......................................................................................................................................................................................................................................................................................................................................................................................................F....................................................................................................................................................................................................................................oxipng worker: `oxipng` не найден; пожалуйста, предоставьте правильную бинарную программу или отключите этот воркер (аргумент --no-oxipng или `:oxipng => false` через опции)
.................................................*..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................```