Scheduler's automated testing on Drupal.org is now failing at 8.2 and 8.3 due to a views schema mis-match:

[Uncaught exception] Line 93 of core/lib/Drupal/Core/Config/Testing/ConfigSchemaChecker.php:
Drupal\Core\Config\Schema\SchemaIncompleteException: Schema errors for views.view.scheduler_scheduled_content with the following errors:
views.view.scheduler_scheduled_content:display.default.display_options.filters.status.value variable type is boolean but applied schema class is Drupal\Core\TypedData\Plugin\DataType\StringData
in Drupal\Core\Config\Testing\ConfigSchemaChecker->onConfigSave()

There must have been a change in core between 25th August and 12th September which altered the schema checking. The test run due to the commit on 25th Aug was fully green and passed.

The tests still pass with D8.1 https://www.drupal.org/node/3292/qa

Comments

jonathan1055 created an issue. See original summary.

jonathan1055’s picture

Priority: Normal » Major
Status: Active » Needs review
StatusFileSize
new508 bytes

In 8.3 the view works OK when browsing to /admin/content/scheduled
However, I editted the view, did not change anything but saved, then used Configuration Update to export the view.
Apart from the uuid and _core properties the only other difference was

value: '1'

instead of

value: true

for display_options.filters.status on line 433.

I did replicate the test failures at 8.3 locally. This patch should fix the problem.

  • jonathan1055 committed 8437da8 on 8.x-1.x
    Issue #2799095 by jonathan1055: Fix schema error in scheduled content...
jonathan1055’s picture

Title: Schema error in scheduled content view was OK but now fails at 8.2 and 8.3 » Fix schema error in scheduled content view. Status value should be string not boolean
Status: Needs review » Fixed
Related issues: +#2651348: Port Rules integration for Scheduler to Drupal 8

The committed codebase is now passing all tests again, on Drupal 8.1, 8.2 and 8.3

jonathan1055’s picture

Status: Fixed » Active
StatusFileSize
new198.05 KB

It seems that the tests at 8.2.x and 8.3.x pass, but the change to the schema causes failures at 8.1.x. We get the reverse of the problem above:

views.view.scheduler_scheduled_content:display.default.display_options.filters.status.value
variable type is string but applied schema class is Drupal\Core\TypedData\Plugin\DataType\BooleanData

So, 8.3 and 8.2 want the value as string and 8.1 wants it as boolean. How do we solve that?

I noticed when I upgraded my test 8.2 site to 8.2.0-rc1 there was a database update for views to change all boolean filter values to strings - see attached.

jonathan1055’s picture

Simplenews Scheduler #2802407: Add migration support has the same problem.

jonathan1055’s picture

Status: Active » Fixed

Now that Drupal 8.2.0 has been released, we no longer need to support automated testing at 8.1.x, hence this issue can be closed.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

jonathan1055’s picture

Assigned: jonathan1055 » Unassigned

Unassigning.