/** * testGetRowsByUserId */ public function testDeleteDashboardAndRelatedPortlets() { Yii::app()->user->userModel = User::getByUsername('billy'); $dashboardCount = Dashboard::getCount(); $this->assertTrue($dashboardCount > 0); $user = User::getByUserName('billy'); Yii::app()->user->userModel = $user; $dashboard = new Dashboard(); $dashboard->name = "Dashboard TESTING"; $dashboard->layoutId = 3; $dashboard->owner = $user; $dashboard->layoutType = '100'; $dashboard->isDefault = false; $this->assertTrue($dashboard->save()); $this->assertEquals(Portlet::getCount(), 0); $this->assertEquals(Dashboard::getCount(), $dashboardCount + 1); for ($i = 1; $i <= 3; $i++) { $portlet = new Portlet(); $portlet->column = 1; $portlet->position = 1 + $i; $portlet->layoutId = 'TEST' . $dashboard->layoutId; $portlet->collapsed = false; $portlet->viewType = 'TasksMyList'; $portlet->user = $user; $this->assertTrue($portlet->save()); } $this->assertEquals(Portlet::getCount(), 3); $portlets = Portlet::getByLayoutIdAndUserSortedById('TEST' . $dashboard->layoutId, $user->id); foreach ($portlets as $portlet) { $portlet->delete(); } $dashboard->delete(); $this->assertEquals(Portlet::getCount(), 0); $this->assertEquals(Dashboard::getCount(), $dashboardCount); }
public function testCreateAndEditDashboardByChangingLayoutType() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); $dashboardCount = Dashboard::getCount(); //Add new dashboard using dashboard add action $this->resetGetArray(); $this->setPostArray(array('Dashboard' => array('name' => 'myDataDashboard', 'layoutType' => '50,50'))); // Not Coding Standard $this->runControllerWithRedirectExceptionAndGetContent('home/default/createDashboard'); $dashboards = Dashboard::getAll(); $this->assertEquals(intval($dashboardCount + 1), count($dashboards)); $myDataDashboard = $dashboards[$dashboardCount]; $this->assertEquals('myDataDashboard', $myDataDashboard->name); $this->assertEquals($super, $myDataDashboard->owner); $this->assertEquals('50,50', $myDataDashboard->layoutType); // Not Coding Standard //Add portlet on 2nd column of recently added dashboard $uniqueLayoutId = 'HomeDashboard' . $myDataDashboard->layoutId; $this->setGetArray(array('dashboardId' => $myDataDashboard->id, 'portletType' => 'ContactsMyList', 'uniqueLayoutId' => $uniqueLayoutId)); $this->resetPostArray(); $this->runControllerWithRedirectExceptionAndGetContent('home/defaultPortlet/add'); //Edit dashboard and change it to one column layout $this->resetGetArray(); $this->setGetArray(array('id' => $myDataDashboard->id)); $this->runControllerWithNoExceptionsAndGetContent('home/default/editDashboard'); $this->setPostArray(array('Dashboard' => array('layoutType' => '100'))); $editActionContent = $this->runControllerWithRedirectExceptionAndGetContent('home/default/editDashboard'); $this->assertNotContains('Undefined variable: maxPositionInColumn1', $editActionContent); $this->resetGetArray(); $this->setGetArray(array('id' => $myDataDashboard->id)); $this->resetPostArray(); $this->runControllerWithNoExceptionsAndGetContent('home/default/dashboardDetails'); $this->assertNotContains('Undefined offset: 2', $editActionContent); }