Skip to content
This repository has been archived by the owner on Aug 9, 2021. It is now read-only.

Commit

Permalink
fix(fleet): allow recursion change for non default fleets
Browse files Browse the repository at this point in the history
Signed-off-by: Thierry Bugier <tbugier@teclib.com>
  • Loading branch information
btry authored and DIOHz0r committed Apr 4, 2018
1 parent 46289de commit da20c60
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
4 changes: 3 additions & 1 deletion inc/fleet.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,9 @@ public function prepareInputForAdd($input) {
*/
public function prepareInputForUpdate($input) {
unset($input['is_default']);
if (isset($input['is_recursive']) && $this->fields['is_recursive'] != $input['is_recursive']) {
if ($this->fields['is_default'] == '1'
&& isset($input['is_recursive'])
&& $this->fields['is_recursive'] != $input['is_recursive']) {
// Do not change recursivity of default fleet
unset($input['is_recursive']);
}
Expand Down
27 changes: 20 additions & 7 deletions tests/suite-unit/PluginFlyvemdmFleet.php
Original file line number Diff line number Diff line change
Expand Up @@ -150,13 +150,25 @@ public function testPrepareInputForAdd($input, $expected) {

protected function inputUpdateProvider() {
return [
'default values' => [
['is_default' => 0, 'entities_id' => 0],
['entities_id' => 0],
[
'initial' => ['is_default' => 0],
'input' => ['is_default' => 0, 'entities_id' => 0],
'expected' => ['entities_id' => 0],
],
'changed values' => [
['is_default' => 1, 'entities_id' => 0],
['entities_id' => 0],
[
'initial' => ['is_default' => 0],
'input' => ['is_default' => 1, 'entities_id' => 0],
'expected' => ['entities_id' => 0],
],
[
'initial' => ['is_default' => 0, 'is_recursive' => 0],
'input' => ['is_default' => 1, 'entities_id' => 0, 'is_recursive' => 1],
'expected' => ['entities_id' => 0, 'is_recursive' => 1],
],
[
'initial' => ['is_default' => 1, 'is_recursive' => 0],
'input' => ['is_default' => 1, 'entities_id' => 0, 'is_recursive' => 1],
'expected' => ['entities_id' => 0],
],
];
}
Expand All @@ -165,8 +177,9 @@ protected function inputUpdateProvider() {
* @dataProvider inputUpdateProvider
* @tags testPrepareInputForUpdate
*/
public function testPrepareInputForUpdate($input, $expected) {
public function testPrepareInputForUpdate($initial, $input, $expected) {
$instance = $this->createInstance();
$instance->fields = $initial;
$keys = array_keys($expected);
$result = $instance->prepareInputForUpdate($input);
$this->array($result)->hasKeys($keys);
Expand Down

0 comments on commit da20c60

Please sign in to comment.