public function BreakpointGroupCRUDTest::testBreakpointGroupCRUD

Test CRUD operations for breakpoint groups.

File

drupal/core/modules/breakpoint/lib/Drupal/breakpoint/Tests/BreakpointGroupCRUDTest.php, line 29
Definition of Drupal\breakpoint\Tests\BreakpointGroupCRUDTest.

Class

BreakpointGroupCRUDTest
Tests for breakpoint group CRUD operations.

Namespace

Drupal\breakpoint\Tests

Code

public function testBreakpointGroupCRUD() {

  // Add breakpoints.
  $breakpoints = array();
  for ($i = 0; $i <= 3; $i++) {
    $width = ($i + 1) * 200;
    $breakpoint = entity_create('breakpoint', array(
      'name' => drupal_strtolower($this
        ->randomName()),
      'weight' => $i,
      'mediaQuery' => "(min-width: {$width}px)",
    ));
    $breakpoint
      ->save();
    $breakpoints[$breakpoint
      ->id()] = $breakpoint;
  }

  // Add a breakpoint group with minimum data only.
  $label = $this
    ->randomName();
  $group = entity_create('breakpoint_group', array(
    'label' => $label,
    'name' => drupal_strtolower($label),
  ));
  $group
    ->save();
  $this
    ->verifyBreakpointGroup($group);

  // Update the breakpoint group.
  $group->breakpoints = array_keys($breakpoints);
  $group
    ->save();
  $this
    ->verifyBreakpointGroup($group);

  // Delete the breakpoint group.
  $group
    ->delete();
  $this
    ->assertFalse(entity_load('breakpoint_group', $group
    ->id()), 'breakpoint_group_load: Loading a deleted breakpoint group returns false.', 'Breakpoints API');
}