/**
  * @test
  */
 public function editUser_ChangeFields_FieldsChanged()
 {
     $salt = rand();
     $userName = '******' . $salt;
     $login = '******' . $salt;
     $password = '******' . $salt;
     $email = 'myemail' . $salt . '@test.com';
     $groups = array('Manager', 'Registered');
     $this->assertFalse($this->userManagerPage->getRowNumber($userName), 'Test user should not be present');
     $this->userManagerPage->addUser($userName, $login, $password, $email, $groups, array('Time Zone' => 'Vancouver'));
     $newGroups = array('Administrator', 'Author', 'Guest');
     $this->userManagerPage->editUser($userName, array('Email' => '*****@*****.**', 'Time Zone' => 'Toronto'), $newGroups);
     $rowText = $this->userManagerPage->getRowText($userName);
     $this->assertTrue(strpos($rowText, '*****@*****.**') > 0, 'Row should contain new email');
     $actualGroups = $this->userManagerPage->getGroups($userName);
     sort($newGroups);
     sort($actualGroups);
     $this->assertEquals($newGroups, $actualGroups, 'New groups should be assigned');
     $values = $this->userManagerPage->getFieldValues('UserEditPage', $userName, array('Email', 'Time Zone'));
     $this->assertEquals(array('*****@*****.**', 'Toronto'), $values, 'Actual values should match expected');
     $this->userManagerPage->deleteUser($userName);
 }