3357596: Add a contextual link to disable a block.
3 open threads
Closes #3357596
Merge request reports
Activity
added 1 commit
- 9ac57bdb - Added Disable block option to contextual menu for blocks
403 403 $this->getSession()->getDriver()->getClient()->request('POST', $url, $post); 404 404 $this->assertSession()->statusCodeEquals(200); 405 405 $json = Json::decode($this->getSession()->getPage()->getContent()); 406 $this->assertSame('<ul class="contextual-links"><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '">Configure block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '/delete">Remove block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '/disable">Disable block</a></li><li><a href="' . base_path() . 'admin/structure/views/view/test_view_block/edit/block_1">Edit view</a></li></ul>', $json[$id]); 407 $this->assertSame('<ul class="contextual-links"><li><a href="' . base_path() . 'admin/structure/block/manage/' . $cached_block->id() . '">Configure block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $cached_block->id() . '/delete">Remove block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '/disable">Disable block</a></li><li><a href="' . base_path() . 'admin/structure/views/view/test_view_block/edit/block_1">Edit view</a></li></ul>', $json[$cached_id]); 406 $this->assertSame('<ul class="contextual-links"><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Configure block</a></li><li><a href="' . Url::fromRoute('entity.block.delete_form', ['block' => $block->id()])->toString() . '">Remove block</a></li><li><a href="' . Url::fromRoute('entity.block.disable', ['block' => $block->id()])->toString() . '">Disable block</a></li><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Edit view</a></li></ul>', $json[$id]); Thanks @pooja_saraah. I think the reason the test is failing here is because 'entity.block.disable' route is csrf protected. I can't find the proper way of generating the token to be added in the assertSame string. I am now thinking to disable csrf protection for the this test...
changed this line in version 4 of the diff
added 1178 commits
-
9ac57bdb...77b8e596 - 1177 commits from branch
project:11.x
- 0a4a375c - Merge branch '11.x' into '3357596-add-contextual-menu'
-
9ac57bdb...77b8e596 - 1177 commits from branch
405 405 $this->getSession()->getDriver()->getClient()->request('POST', $url, $post); 406 406 $this->assertSession()->statusCodeEquals(200); 407 407 $json = Json::decode($this->getSession()->getPage()->getContent()); 408 $this->assertSame('<ul class="contextual-links"><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '">Configure block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '/delete">Remove block</a></li><li><a href="' . base_path() . 'admin/structure/views/view/test_view_block/edit/block_1">Edit view</a></li></ul>', $json[$id]); 409 $this->assertSame('<ul class="contextual-links"><li><a href="' . base_path() . 'admin/structure/block/manage/' . $cached_block->id() . '">Configure block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $cached_block->id() . '/delete">Remove block</a></li><li><a href="' . base_path() . 'admin/structure/views/view/test_view_block/edit/block_1">Edit view</a></li></ul>', $json[$cached_id]); 408 $this->assertSame('<ul class="contextual-links"><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Configure block</a></li><li><a href="' . Url::fromRoute('entity.block.delete_form', ['block' => $block->id()])->toString() . '">Remove block</a></li><li><a href="' . Url::fromRoute('entity.block.disable', ['block' => $block->id()], ['query' => ['token' => \Drupal::getContainer()->get('csrf_token')->get("admin/structure/block/manage/{$block->id()}/disable")]])->toString() . '">Disable block</a></li><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Edit view</a></li></ul>', $json[$id]); 405 405 $this->getSession()->getDriver()->getClient()->request('POST', $url, $post); 406 406 $this->assertSession()->statusCodeEquals(200); 407 407 $json = Json::decode($this->getSession()->getPage()->getContent()); 408 $this->assertSame('<ul class="contextual-links"><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '">Configure block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $block->id() . '/delete">Remove block</a></li><li><a href="' . base_path() . 'admin/structure/views/view/test_view_block/edit/block_1">Edit view</a></li></ul>', $json[$id]); 409 $this->assertSame('<ul class="contextual-links"><li><a href="' . base_path() . 'admin/structure/block/manage/' . $cached_block->id() . '">Configure block</a></li><li><a href="' . base_path() . 'admin/structure/block/manage/' . $cached_block->id() . '/delete">Remove block</a></li><li><a href="' . base_path() . 'admin/structure/views/view/test_view_block/edit/block_1">Edit view</a></li></ul>', $json[$cached_id]); 408 $this->assertSame('<ul class="contextual-links"><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Configure block</a></li><li><a href="' . Url::fromRoute('entity.block.delete_form', ['block' => $block->id()])->toString() . '">Remove block</a></li><li><a href="' . Url::fromRoute('entity.block.disable', ['block' => $block->id()], ['query' => ['token' => \Drupal::getContainer()->get('csrf_token')->get("admin/structure/block/manage/{$block->id()}/disable")]])->toString() . '">Disable block</a></li><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Edit view</a></li></ul>', $json[$id]); 409 $this->assertSame('<ul class="contextual-links"><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $cached_block->id()])->toString() . '">Configure block</a></li><li><a href="' . Url::fromRoute('entity.block.delete_form', ['block' => $cached_block->id()])->toString() . '">Remove block</a></li><li><a href="' . Url::fromRoute('entity.block.disable', ['block' => $cached_block->id()], ['query' => ['token' => \Drupal::getContainer()->get('csrf_token')->get("admin/structure/block/manage/{$cached_block->id()}/disable")]])->toString() . '">Disable block</a></li><li><a href="' . Url::fromRoute('entity.block.edit_form', ['block' => $block->id()])->toString() . '">Edit view</a></li></ul>', $json[$cached_id]); Tried to use
$cached_id_token
as well. See !6166 (comment 345379)
Please register or sign in to reply