<?php namespace SilverStripe\Admin\Tests; use SilverStripe\Admin\CampaignAdminList; use SilverStripe\Control\Controller; use SilverStripe\Dev\SapphireTest; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\Form; class CampaignAdminListTest extends SapphireTest { public function testSchema() { $fields = new FieldList( $changesets = CampaignAdminList::create('ChangeSets') ); $actions = new FieldList(); Form::create(new Controller(), 'EditForm', $fields, $actions); $schema = $changesets->getSchemaData(); // Check endpoint urls $this->assertEquals('admin/campaigns/sets', $schema['data']['collectionReadEndpoint']['url']); $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemReadEndpoint']['url']); $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemUpdateEndpoint']['url']); $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemCreateEndpoint']['url']); $this->assertEquals('admin/campaigns/set/:id', $schema['data']['itemDeleteEndpoint']['url']); $this->assertEquals('admin/campaigns/schema/DetailEditForm', $schema['data']['editFormSchemaEndpoint']); // Check summary fields $this->assertEquals([ [ 'field' => 'Name', 'name' => 'Title', ], [ 'field' => 'ChangesCount', 'name' => 'Changes', ], [ 'field' => 'Description', 'name' => 'Description', ] ], $schema['data']['columns']); } }