Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
moodle
moodle
Commits
2944abad
Commit
2944abad
authored
Jun 28, 2022
by
Noel De Martin
Browse files
MDL-75084 blog: Implement behat generators
parent
ceb41588
Changes
4
Hide whitespace changes
Inline
Side-by-side
blog/tests/behat/comment.feature
View file @
2944abad
...
...
@@ -9,6 +9,9 @@ Feature: Comment on a blog entry
|
username
|
firstname
|
lastname
|
email
|
|
testuser
|
Test
|
User
|
moodle@example.com
|
|
testuser2
|
Test2
|
User2
|
moodle2@example.com
|
And the following "core_blog > entries" exist
:
|
subject
|
body
|
user
|
|
Blog
post
from
user
1
|
User
1
blog
post
content
|
testuser
|
And
I log in as
"admin"
And
I am on site homepage
And
I turn editing mode on
...
...
@@ -21,15 +24,6 @@ Feature: Comment on a blog entry
|
Page
contexts
|
Display
throughout
the
entire
site
|
And
I
press
"Save
changes"
And
I log out
And
I log in as
"testuser"
And
I click on
"Site pages"
"list_item"
in the
"Navigation"
"block"
And
I click on
"Site blogs"
"link"
in the
"Navigation"
"block"
And
I follow
"Add a new entry"
And I set the following fields to these values
:
|
Entry
title
|
Blog
post
from
user
1
|
|
Blog
entry
body
|
User
1
blog
post
content
|
And
I press
"Save changes"
And
I log out
@javascript
Scenario
:
Commenting on my own blog entry
...
...
blog/tests/behat/delete.feature
View file @
2944abad
...
...
@@ -8,6 +8,10 @@ Feature: Delete a blog entry
Given the following "users" exist
:
|
username
|
firstname
|
lastname
|
email
|
|
testuser
|
Test
|
User
|
moodle@example.com
|
And the following "core_blog > entries" exist
:
|
subject
|
body
|
user
|
|
Blog
post
one
|
User
1
blog
post
content
|
testuser
|
|
Blog
post
two
|
User
1
blog
post
content
|
testuser
|
And
I log in as
"admin"
And
I am on site homepage
And
I turn editing mode on
...
...
@@ -21,17 +25,6 @@ Feature: Delete a blog entry
And
I
press
"Save
changes"
And
I log out
And
I log in as
"testuser"
And
I click on
"Site blogs"
"link"
in the
"Navigation"
"block"
And
I follow
"Add a new entry"
And I set the following fields to these values
:
|
Entry
title
|
Blog
post
one
|
|
Blog
entry
body
|
User
1
blog
post
content
|
And
I press
"Save changes"
And
I follow
"Add a new entry"
And I set the following fields to these values
:
|
Entry
title
|
Blog
post
two
|
|
Blog
entry
body
|
User
1
blog
post
content
|
And
I press
"Save changes"
And
I am on site homepage
And
I click on
"Site blogs"
"link"
in the
"Navigation"
"block"
...
...
blog/tests/generator/behat_core_blog_generator.php
0 → 100644
View file @
2944abad
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Behat data generator for core_blog.
*
* @package core_blog
* @category test
* @copyright 2022 Noel De Martin
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* Behat data generator for core_blog.
*
* @package core_blog
* @category test
* @copyright 2022 Noel De Martin
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class
behat_core_blog_generator
extends
behat_generator_base
{
/**
* Get a list of the entities that can be created.
*
* @return array entity name => information about how to generate.
*/
protected
function
get_creatable_entities
():
array
{
return
[
'entries'
=>
[
'singular'
=>
'entry'
,
'datagenerator'
=>
'entry'
,
'required'
=>
[
'subject'
,
'body'
],
'switchids'
=>
[
'user'
=>
'userid'
],
],
];
}
}
blog/tests/generator/lib.php
0 → 100644
View file @
2944abad
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Generator for blog area.
*
* @package core_blog
* @category test
* @copyright 2022 Noel De Martin
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined
(
'MOODLE_INTERNAL'
)
||
die
();
require_once
(
$CFG
->
dirroot
.
'/blog/locallib.php'
);
/**
* Blog module test data generator class
*
* @package core_blog
* @category test
* @copyright 2022 Noel De Martin
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class
core_blog_generator
extends
component_generator_base
{
/**
* Create a blog entry
*
* @param array $data Entry data.
* @return blog_entry Entry instance.
*/
public
function
create_entry
(
array
$data
=
[]):
blog_entry
{
$data
[
'publishstate'
]
=
$data
[
'publishstate'
]
??
'site'
;
$data
[
'summary'
]
=
$data
[
'summary'
]
??
$data
[
'body'
];
$entry
=
new
blog_entry
(
null
,
$data
);
$entry
->
add
();
return
$entry
;
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment