diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4628e13fd..1b017dba8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,41 +3,6 @@ name: CI/CD on: [push] jobs: - autoformat: - runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, 'NO_CI')" - strategy: - fail-fast: false - max-parallel: 3 - steps: - - name: Checkout Repository - uses: actions/checkout@master - with: - fetch-depth: 1 - - name: Get Composer Cache Directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache dependencies - uses: actions/cache@v1 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - name: Setup Composer - run: composer install - - name: Autoformat - run: 'vendor/bin/php-cs-fixer fix ./ --rules=''{"array_syntax": {"syntax": "short"}, "blank_line_after_namespace": true, "binary_operator_spaces": {"operators": {"=": "align", ".=": "align", "+=": "align", "-=": "align", "*=": "align", "/=": "align", "|=": "align", "&=": "align", "=>": "align", "??=": "align"}}, "cast_spaces": {"space": "single"}, "class_attributes_separation": { "elements": ["const", "method", "property"] }, "combine_consecutive_issets": true, "compact_nullable_typehint": true, "declare_strict_types": true, "declare_equal_normalize": {"space": "none"}, "elseif": true, "encoding": true, "explicit_indirect_variable": true, "explicit_string_variable": true, "function_to_constant": true, "implode_call": true, "increment_style": {"style": "pre"}, "is_null": {"use_yoda_style": false}, "line_ending": true, "logical_operators": true, "lowercase_cast": true, "lowercase_constants": true, "lowercase_keywords": true, "modernize_types_casting": true, "native_constant_invocation": true, "native_function_casing": true, "native_function_invocation": true, "new_with_braces": true, "no_extra_blank_lines": ["break", "case", "continue", "curly_brace_block", "extra", "return", "switch", "throw", "use"], "no_spaces_after_function_name": true, "no_alias_functions": true, "no_closing_tag": true, "no_empty_comment": true, "no_empty_phpdoc": true, "no_empty_statement": true, "no_homoglyph_names": true, "no_mixed_echo_print": {"use": "echo"}, "no_php4_constructor": true, "no_singleline_whitespace_before_semicolons": true, "no_spaces_inside_parenthesis": true, "no_trailing_whitespace": true, "no_unneeded_final_method": true, "no_unused_imports": true, "no_useless_return": true, "no_whitespace_before_comma_in_array": true, "no_whitespace_in_blank_line": true, "non_printable_character": true, "normalize_index_brace": true, "ordered_imports": {"sort_algorithm": "alpha"}, "ordered_interfaces": {"order": "alpha"}, "php_unit_construct": true, "php_unit_internal_class": true, "php_unit_ordered_covers": true, "php_unit_set_up_tear_down_visibility": true, "phpdoc_indent": true, "phpdoc_align": {"align": "vertical"}, "phpdoc_annotation_without_dot": true, "phpdoc_scalar": true, "phpdoc_return_self_reference": {"this": "self"}, "phpdoc_trim": true, "phpdoc_trim_consecutive_blank_line_separation": true, "random_api_migration": true, "self_accessor": true, "return_type_declaration": {"space_before": "one"}, "semicolon_after_instruction": true, "set_type_to_cast": true, "short_scalar_cast": true, "single_blank_line_at_eof": true, "single_line_after_imports": true, "standardize_increment": true, "trailing_comma_in_multiline_array": true, "trim_array_spaces": true, "visibility_required": true, "void_return": true}'' --allow-risky=yes' - - name: Check for modified files - id: git-check - run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi) - - name: Push changes - if: steps.git-check.outputs.modified == 'true' - run: | - git config --global user.name 'Formatter Bot' - git config --global user.email 'formatter.bot@orange-management.email' - git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} - git commit -am "Automated formatting changes" - git push code-tests: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, 'NO_CI')" diff --git a/Config/SettingsInterface.php b/Config/SettingsInterface.php index cf7f6bf64..3880b68aa 100644 --- a/Config/SettingsInterface.php +++ b/Config/SettingsInterface.php @@ -42,12 +42,12 @@ interface SettingsInterface extends OptionsInterface * @since 1.0.0 */ public function get( - $ids = null, - $names = null, + mixed $ids = null, + string|array $names = null, string $module = null, int $group = null, int $account = null - ); + ) : mixed; /** * Set option by key. diff --git a/tests/Application/ApplicationManagerTest.php b/tests/Application/ApplicationManagerTest.php index 9651e700d..a6fab11b1 100644 --- a/tests/Application/ApplicationManagerTest.php +++ b/tests/Application/ApplicationManagerTest.php @@ -16,7 +16,6 @@ namespace phpOMS\tests\Application; require_once __DIR__ . '/../Autoloader.php'; -use Model\CoreSettings; use phpOMS\Application\ApplicationAbstract; use phpOMS\Application\ApplicationManager; use phpOMS\Dispatcher\Dispatcher; @@ -38,11 +37,29 @@ class ApplicationManagerTest extends \PHPUnit\Framework\TestCase protected string $appName = 'Api'; }; - $app->appName = 'Api'; - $app->dbPool = $GLOBALS['dbpool']; - $app->router = new WebRouter(); - $app->dispatcher = new Dispatcher($app); - $app->appSettings = new CoreSettings($app->dbPool->get('admin')); + $app->appName = 'Api'; + $app->dbPool = $GLOBALS['dbpool']; + $app->router = new WebRouter(); + $app->dispatcher = new Dispatcher($app); + $app->appSettings = new class implements SettingsInterface { + public function get( + mixed $ids = null, + string|array $names = null, + string $module = null, + int $group = null, + int $account = null + ) : mixed { + return ''; + } + + public function set(array $options, bool $store = false) : void {} + + public function save(array $options = []) : void {} + + public function create(array $options = []) : void {} + }; + + ($app->dbPool->get('admin')); $app->moduleManager = new ModuleManager($app, __DIR__ . '/../../../Modules/'); $this->appManager = new ApplicationManager($app->moduleManager);