Con ayuda de estás dos funciones podremos publicar y despublicar nodos. Muy útil si necesitamos tener ciertos contenidos para hacer pruebas sobre ellos.
Publicación de Nodos
/**
* @BeforeSuite
*/
public static
function publishNode() {
$nids = array(); // Load all nodes in one go for better performance. Example (12, 15)
$nodes = node_load_multiple($nids);
foreach($nodes as $node) {
$node-> status = 1; // set status property to 1, Published
node_save($node); //save the node
}
}
Despublicación de Nodos
/**
* @AfterSuite
*/
public static
function unpublishNode() {
$nids = array(); // Load all nodes in one go for better performance. Example (1, 5, 15)
$nodes = node_load_multiple($nids);
foreach($nodes as $node) {
$node-> status = 0; // set status property to 0, Unpublish
node_save($node); // save the node(s)
}
}
Recuperar el NID del último nodo creado
/**
* Take the last nid create. Optional bundle
*
* @param string $bundle
* Optionally restrict the search to this type of node.
*
* @return int
* Node id (Nid).
*/
public function getLastNodeNid($bundle = NULL) {
if (!empty($bundle)) {
$query = db_query("SELECT nid FROM node WHERE type = :bundle ORDER BY nid DESC LIMIT 1", array(':bundle' => $bundle));
}
else {
$query = db_query("SELECT nid FROM node ORDER BY nid DESC LIMIT 1");
}
return $query->fetchField();
}
A continuación agregamos información sobre las herramientas utilizadas y documentación sobre Behat relativa a los pasos
Información sobre Tags @BeforeSuite y @AfterSuite
http://docs.behat.org/en/v2.5/guides/3.hooks.html#hooks
Información sobre Drupal Extension y Mink
http://behat-drupal-extension.readthedocs.io/en/3.1/intro.html