diff --git a/.env.testing b/.env.testing index 27d1d955d5..224ed8711a 100644 --- a/.env.testing +++ b/.env.testing @@ -34,7 +34,7 @@ LOG_CHANNEL=dailytest # debug, info, notice, warning, error, critical, alert, emergency # If you set it to debug your logs will grow large, and fast. If you set it to emergency probably # nothing will get logged, ever. -APP_LOG_LEVEL=debug +APP_LOG_LEVEL=info # Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III # For other database types, please see the FAQ: http://firefly-iii.readthedocs.io/en/latest/support/faq.html diff --git a/.sandstorm/changelog.md b/.sandstorm/changelog.md index b9616e7c2a..aa288f4000 100644 --- a/.sandstorm/changelog.md +++ b/.sandstorm/changelog.md @@ -1,3 +1,7 @@ +# 4.7.6.2 +- Docker file builds again. +- Fix CSS of OAuth2 authorization view. + # 4.7.6.1 - An issue where I switched variables from the Docker `.env` file to the normal `.env` file and vice versa -- breaking both. - [Issue 1649](https://github.com/firefly-iii/firefly-iii/issues/1649) 2FA QR code would not show up due to very strict security policy headers diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp index 48086f1f98..7652b8f11c 100644 --- a/.sandstorm/sandstorm-pkgdef.capnp +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -16,7 +16,7 @@ const pkgdef :Spk.PackageDefinition = ( manifest = ( appTitle = (defaultText = "Firefly III"), appVersion = 16, - appMarketingVersion = (defaultText = "4.7.6.1"), + appMarketingVersion = (defaultText = "4.7.6.2"), actions = [ # Define your "new document" handlers here. diff --git a/Dockerfile b/Dockerfile index e6a9ebf119..e8f627c160 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,10 +60,6 @@ RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/00-curl.conf && ldconfig COPY .deploy/docker/supervisord.conf /etc/supervisor/supervisord.conf RUN mkdir -p /etc/supervisor/conf.d /var/log/supervisor -# Fix the link to curl: -RUN rm -rf /usr/local/lib/libcurl.so.4 && ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0 /usr/local/lib/libcurl.so.4 - - # copy Firefly III supervisor conf file. COPY ./.deploy/docker/firefly-iii.conf /etc/supervisor/conf.d/firefly-iii.conf @@ -82,7 +78,6 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local # Generate locales supported by Firefly III RUN echo "en_US.UTF-8 UTF-8\nde_DE.UTF-8 UTF-8\nfr_FR.UTF-8 UTF-8\nit_IT.UTF-8 UTF-8\nnl_NL.UTF-8 UTF-8\npl_PL.UTF-8 UTF-8\npt_BR.UTF-8 UTF-8\nru_RU.UTF-8 UTF-8\ntr_TR.UTF-8 UTF-8\n\n" > /etc/locale.gen && locale-gen - # copy Apache config to correct spot. COPY ./.deploy/docker/apache2.conf /etc/apache2/apache2.conf @@ -105,6 +100,9 @@ RUN chown -R www-data:www-data /var/www && chmod -R 775 $FIREFLY_PATH/storage WORKDIR $FIREFLY_PATH ADD . $FIREFLY_PATH +# Fix the link to curl: +RUN rm -rf /usr/local/lib/libcurl.so.4 && ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0 /usr/local/lib/libcurl.so.4 + # Run composer ENV COMPOSER_ALLOW_SUPERUSER 1 RUN composer install --prefer-dist --no-dev --no-scripts --no-suggest diff --git a/app/Factory/TransactionFactory.php b/app/Factory/TransactionFactory.php index 9168702251..ad0f6d985e 100644 --- a/app/Factory/TransactionFactory.php +++ b/app/Factory/TransactionFactory.php @@ -204,10 +204,11 @@ class TransactionFactory throw new FireflyException(sprintf('Source and destination account cannot be both of the type "%s"', $destinationType)); } // source must be in this list AND dest must be in this list: - $list = [AccountType::DEFAULT, AccountType::ASSET, AccountType::CASH, AccountType::DEBT, AccountType::MORTGAGE, AccountType::LOAN, AccountType::MORTGAGE]; + $list = [AccountType::DEFAULT, AccountType::ASSET, AccountType::CREDITCARD, AccountType::CASH, AccountType::DEBT, AccountType::MORTGAGE, + AccountType::LOAN, AccountType::MORTGAGE]; if ( - !\in_array($sourceType, $list, true) && - !\in_array($destinationType, $list, true)) { + !\in_array($sourceType, $list, true) + && !\in_array($destinationType, $list, true)) { throw new FireflyException(sprintf('At least one of the accounts must be an asset account (%s, %s).', $sourceType, $destinationType)); } // either of these must be asset or default account. diff --git a/app/Validation/FireflyValidator.php b/app/Validation/FireflyValidator.php index c16c7430ba..a8d1bbc87c 100644 --- a/app/Validation/FireflyValidator.php +++ b/app/Validation/FireflyValidator.php @@ -525,7 +525,7 @@ class FireflyValidator extends Validator try { $value = Crypt::decrypt($value); } catch (DecryptException $e) { - Log::debug(sprintf('Could not decrypt. %s', $e->getMessage())); + //Log::debug(sprintf('Could not decrypt. %s', $e->getMessage())); } return $value; diff --git a/changelog.md b/changelog.md index 72d27723e4..cd3632aae2 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [4.7.6.2] - 2018-09-03 +### Fixed +- Docker file builds again. +- Fix CSS of OAuth2 authorization view. ## [4.7.6.1] - 2018-09-02 ### Fixed diff --git a/composer.lock b/composer.lock index 2bed9883f1..d254281729 100644 --- a/composer.lock +++ b/composer.lock @@ -1022,16 +1022,16 @@ }, { "name": "laravel/framework", - "version": "v5.6.37", + "version": "v5.6.38", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "975e182d42403b0efdf847c05f6bfb99144f95f5" + "reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/975e182d42403b0efdf847c05f6bfb99144f95f5", - "reference": "975e182d42403b0efdf847c05f6bfb99144f95f5", + "url": "https://api.github.com/repos/laravel/framework/zipball/38d838bab9434af79e8ab274ae63f52f7ed45d6e", + "reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e", "shasum": "" }, "require": { @@ -1157,7 +1157,7 @@ "framework", "laravel" ], - "time": "2018-09-02T13:51:42+00:00" + "time": "2018-09-04T13:15:09+00:00" }, { "name": "laravel/passport", @@ -3900,33 +3900,34 @@ "packages-dev": [ { "name": "barryvdh/laravel-ide-helper", - "version": "v2.4.3", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "5c304db44fba8e9c4aa0c09739e59f7be7736fdd" + "reference": "09db8c9a76711e98c61af0795934fb15955223fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/5c304db44fba8e9c4aa0c09739e59f7be7736fdd", - "reference": "5c304db44fba8e9c4aa0c09739e59f7be7736fdd", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/09db8c9a76711e98c61af0795934fb15955223fb", + "reference": "09db8c9a76711e98c61af0795934fb15955223fb", "shasum": "" }, "require": { "barryvdh/reflection-docblock": "^2.0.4", - "illuminate/console": "^5.0,<5.7", - "illuminate/filesystem": "^5.0,<5.7", - "illuminate/support": "^5.0,<5.7", - "php": ">=5.4.0", - "symfony/class-loader": "^2.3|^3.0" + "composer/composer": "^1.6", + "illuminate/console": "^5.5,<5.8", + "illuminate/filesystem": "^5.5,<5.8", + "illuminate/support": "^5.5,<5.8", + "php": ">=7" }, "require-dev": { "doctrine/dbal": "~2.3", - "illuminate/config": "^5.0,<5.7", - "illuminate/view": "^5.0,<5.7", + "illuminate/config": "^5.1,<5.8", + "illuminate/view": "^5.1,<5.8", + "phpro/grumphp": "^0.14", "phpunit/phpunit": "4.*", "scrutinizer/ocular": "~1.1", - "squizlabs/php_codesniffer": "~2.3" + "squizlabs/php_codesniffer": "^3" }, "suggest": { "doctrine/dbal": "Load information from the database about models for phpdocs (~2.3)" @@ -3934,7 +3935,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.5-dev" }, "laravel": { "providers": [ @@ -3969,7 +3970,7 @@ "phpstorm", "sublime" ], - "time": "2018-02-08T07:56:07+00:00" + "time": "2018-08-31T13:28:09+00:00" }, { "name": "barryvdh/reflection-docblock", @@ -4020,6 +4021,309 @@ ], "time": "2016-06-13T19:28:20+00:00" }, + { + "name": "composer/ca-bundle", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "46afded9720f40b9dc63542af4e3e43a1177acb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/46afded9720f40b9dc63542af4e3e43a1177acb0", + "reference": "46afded9720f40b9dc63542af4e3e43a1177acb0", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2018-08-08T08:57:40+00:00" + }, + { + "name": "composer/composer", + "version": "1.7.2", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "576aab9b5abb2ed11a1c52353a759363216a4ad2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/576aab9b5abb2ed11a1c52353a759363216a4ad2", + "reference": "576aab9b5abb2ed11a1c52353a759363216a4ad2", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" + }, + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2018-08-16T14:57:12+00:00" + }, + { + "name": "composer/semver", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "time": "2016-08-30T16:08:34+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/cb17687e9f936acd7e7245ad3890f953770dec1b", + "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "time": "2018-04-30T10:33:04+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "b8e9745fb9b06ea6664d8872c4505fb16df4611c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/b8e9745fb9b06ea6664d8872c4505fb16df4611c", + "reference": "b8e9745fb9b06ea6664d8872c4505fb16df4611c", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2018-08-31T19:07:57+00:00" + }, { "name": "doctrine/instantiator", "version": "1.1.0", @@ -4281,6 +4585,72 @@ ], "time": "2018-02-24T18:55:28+00:00" }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.7", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "8560d4314577199ba51bf2032f02cd1315587c23" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", + "reference": "8560d4314577199ba51bf2032f02cd1315587c23", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2018-02-14T22:26:30+00:00" + }, { "name": "mockery/mockery", "version": "1.1.0", @@ -5853,42 +6223,33 @@ "time": "2016-10-03T07:35:21+00:00" }, { - "name": "symfony/class-loader", - "version": "v3.4.15", + "name": "seld/jsonlint", + "version": "1.7.1", "source": { "type": "git", - "url": "https://github.com/symfony/class-loader.git", - "reference": "31db283fc86d3143e7ff87e922177b457d909c30" + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/class-loader/zipball/31db283fc86d3143e7ff87e922177b457d909c30", - "reference": "31db283fc86d3143e7ff87e922177b457d909c30", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^5.3 || ^7.0" }, "require-dev": { - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/polyfill-apcu": "~1.1" - }, - "suggest": { - "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, + "bin": [ + "bin/jsonlint" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, "autoload": { "psr-4": { - "Symfony\\Component\\ClassLoader\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5896,17 +6257,63 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "Symfony ClassLoader Component", - "homepage": "https://symfony.com", - "time": "2018-07-26T11:19:56+00:00" + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" }, { "name": "symfony/config", diff --git a/config/firefly.php b/config/firefly.php index d9b9eecde1..9af9a74269 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -88,7 +88,7 @@ return [ 'is_demo_site' => false, ], 'encryption' => null === env('USE_ENCRYPTION') || env('USE_ENCRYPTION') === true, - 'version' => '4.7.6.1', + 'version' => '4.7.6.2', 'api_version' => '0.7', 'db_version' => 4, 'maxUploadSize' => 15242880, @@ -238,13 +238,13 @@ return [ 'es_ES' => ['name_locale' => 'Español', 'name_english' => 'Spanish'], 'de_DE' => ['name_locale' => 'Deutsch', 'name_english' => 'German'], 'fr_FR' => ['name_locale' => 'Français', 'name_english' => 'French'], - 'id_ID' => ['name_locale' => 'Bahasa Indonesia', 'name_english' => 'Indonesian'], + //'id_ID' => ['name_locale' => 'Bahasa Indonesia', 'name_english' => 'Indonesian'], 'it_IT' => ['name_locale' => 'Italiano', 'name_english' => 'Italian'], 'nl_NL' => ['name_locale' => 'Nederlands', 'name_english' => 'Dutch'], 'pl_PL' => ['name_locale' => 'Polski', 'name_english' => 'Polish '], - 'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'], + //'pt_BR' => ['name_locale' => 'Português do Brasil', 'name_english' => 'Portuguese (Brazil)'], 'ru_RU' => ['name_locale' => 'Русский', 'name_english' => 'Russian'], - 'tr_TR' => ['name_locale' => 'Türkçe', 'name_english' => 'Turkish'], + //'tr_TR' => ['name_locale' => 'Türkçe', 'name_english' => 'Turkish'], ], 'transactionTypesByWhat' => [ 'expenses' => ['Withdrawal'], diff --git a/resources/lang/de_DE/demo.php b/resources/lang/de_DE/demo.php index 8a65f1adcf..0209ab81a9 100644 --- a/resources/lang/de_DE/demo.php +++ b/resources/lang/de_DE/demo.php @@ -25,8 +25,8 @@ declare(strict_types=1); return [ 'no_demo_text' => 'Leider gibt es keine zusätzlichen Demo-Erklärungen für diese Seite.', 'see_help_icon' => 'Vielleicht erfahren Sie mehr über das -Icon in der oberen rechten Ecke.', - 'index' => 'Willkommen bei Firefly III! Auf dieser Seite erhalten Sie einen schnellen Überblick über Ihre Finanzen. Für einen schnellen Start empfehlen wir einen Besuch bei den → Bestandskonten, den Kostenrahmen oder den Berichten. Oder sehen Sie sich einfach um und schauen wo Sie landen.', - 'accounts-index' => 'Konten sind Ihre persönlichen Bankkonten, Kreditkarten, Bar-Kassen, usw.. Kreditoren (Zahlungsempfänger) sind Konten, die Geld von Ihnen erhalten, z. B. der Supermarkt, das Kino oder der Vermieter. Debitoren (Einnahmequellen) sind Konten von denen Sie Geld erhalten, z. B. Ihr Arbeitgeber, die Familienkassen oder andere Einkommensquellen. Auf dieser Seite können Sie diese bearbeiten oder entfernen.', + 'index' => 'Willkommen bei Firefly III! Auf dieser Seite erhalten Sie einen schnellen Überblick über Ihre Finanzen. Für einen schnellen Start empfehlen wir einen Besuch bei den → Bestandskoten, den Budgets oder den Berichten. Oder sehen Sie sich einfach um und schauen, wo Sie landen.', + 'accounts-index' => 'Konten sind Ihre persönlichen Bankkonten, Kreditkarten, Geldbörsen usw. Kreditoren (Zahlungsempfänger) sind Konten, die Geld von Ihnen erhalten, z. B. der Supermarkt, das Kino oder der Vermieter. Debitoren (Einnahmequellen) sind Konten, von denen Sie Geld erhalten, z. B. Ihr Arbeitgeber, die Familienkassen oder andere Einkommensquellen. Auf dieser Seite können Sie diese bearbeiten oder entfernen.', 'budgets-index' => 'Hier finden Sie einen Überblick über Ihre Budgets. Die obere Leiste zeigt den zur Verfügung stehenden Betrag. Dieser kann angepasst werden, indem Sie auf den Betrag auf der rechten Seite klicken. Bisherige Ausgaben werden in der darunter liegenden Leiste angezeigt. Darunter finden Sie die von Ihnen angelegten Budgets sowie die bereits darauf verbuchten Ausgaben.', 'reports-index-start' => 'Firefly III unterstützt eine Reihe von Berichten. Weitere Informationen dazu erhalten Sie über das -Symbol in der oberen rechten Ecke.', 'reports-index-examples' => 'Sehen Sie sich auch diese Beispiele an: eine monatliche Finanzübersicht, eine jährliche Finanzübersicht und eine Haushaltsübersicht.', diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index cf9ba5012e..cfdeb324b3 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -49,20 +49,20 @@ return [ 'new_withdrawal' => 'Neue Ausgabe', 'create_new_transaction' => 'Neue Buchung erstellen', 'go_to_asset_accounts' => 'Bestandskonten anzeigen', - 'go_to_budgets' => 'Kostenrahmen anzeigen', + 'go_to_budgets' => 'Budgets anzeigen', 'go_to_categories' => 'Kategorien anzeigen', 'go_to_bills' => 'Rechnungen anzeigen', - 'go_to_expense_accounts' => 'Aufwandskonten anzeigen', + 'go_to_expense_accounts' => 'Kreditoren (Ausgabenkonten) anzeigen', 'go_to_revenue_accounts' => 'Erlöskonten anzeigen', 'go_to_piggies' => 'Sparschweine anzeigen', 'new_deposit' => 'Neue Einnahme', 'new_transfer' => 'Neue Umbuchung', 'new_transfers' => 'Neue Umbuchung', 'new_asset_account' => 'Neues Bestandskonto', - 'new_expense_account' => 'Neuer Debitor (Geldausgang)', + 'new_expense_account' => 'Neuer Kreditor (Ausgabenkonto)', 'new_revenue_account' => 'Neuer Kreditor (Geldeingang)', 'new_liabilities_account' => 'Neue Verbindlichkeit', - 'new_budget' => 'Neuer Kostenrahmen', + 'new_budget' => 'Neues Budget', 'new_bill' => 'Neue Rechnung', 'block_account_logout' => 'Sie wurden ausgeloggt. Blockierte Benutzerkonten können diese Seite nicht nutzen. Haben Sie sich mit einer gültigen E-Mail Adresse registriert?', 'flash_success' => 'Geschafft!', @@ -90,7 +90,7 @@ return [ 'warning_much_data' => ':days Tage Daten können eine Weile zu laden benötigen.', 'registered' => 'Sie haben sich erfolgreich registriert!', 'Default asset account' => 'Standard-Bestandskonto', - 'no_budget_pointer' => 'Sie scheinen noch keine Kostenrahmen festgelegt zu haben. Sie sollten einige davon auf der Seite Kostenrahmen anlegen. Kostenrahmen können Ihnen dabei helfen, den Überblick über die Ausgaben zu behalten.', + 'no_budget_pointer' => 'Sie scheinen noch keine Budgets festgelegt zu haben. Sie sollten einige davon auf der Seite Budgets anlegen. Budgets können Ihnen dabei helfen, den Überblick über die Ausgaben zu behalten.', 'Savings account' => 'Sparkonto', 'Credit card' => 'Kreditkarte', 'source_accounts' => 'Herkunftskonto', @@ -102,21 +102,21 @@ return [ 'intro_boxes_after_refresh' => 'Die Einführungsfelder werden wieder angezeigt, wenn Sie die Seite aktualisieren.', 'show_all_no_filter' => 'Alle Buchungen anzeigen, ohne diese nach Datum zu gruppieren.', 'expenses_by_category' => 'Ausgaben nach Kategorie', - 'expenses_by_budget' => 'Ausgaben nach Kostenrahmen', + 'expenses_by_budget' => 'Ausgaben nach Budget', 'income_by_category' => 'Einkommen nach Kategorie', 'expenses_by_asset_account' => 'Aufwendungen nach Bestandskonto', - 'expenses_by_expense_account' => 'Aufwendungen nach Aufwandskonto', + 'expenses_by_expense_account' => 'Aufwendungen nach Kreditor (Ausgabenkonto)', 'cannot_redirect_to_account' => 'Entschuldigung. Firefly III kann Sie nicht zur richtigen Seite weiterleiten.', 'sum_of_expenses' => 'Summe von Ausgaben', 'sum_of_income' => 'Summe von Einnahmen', - 'spent_in_specific_budget' => 'Ausgaben im Kostenrahmen „:budget”', - 'sum_of_expenses_in_budget' => 'Gesamtausgaben im Kostenrahmen „:budget”', + 'spent_in_specific_budget' => 'Ausgaben im Budget „:budget”', + 'sum_of_expenses_in_budget' => 'Gesamtausgaben im Budget „:budget”', 'left_in_budget_limit' => 'Verbleibend zum Ausgeben, entsprechend der Kostenplanung', 'current_period' => 'Aktueller Zeitraum', 'show_the_current_period_and_overview' => 'Zeigen Sie den aktuellen Zeitraum und die Übersicht', 'pref_languages_locale' => 'Damit eine andere Sprache als Englisch richtig funktioniert muss Ihr Betriebssystem mit den korrekten Gebietsschema-Informationen ausgestattet werden. Wenn diese nicht vorhanden sind, können die Währungsdaten, Termine und Mengen falsch formatiert.', - 'budget_in_period' => 'Alle Buchungen für Kostenrahmen „:name” zwischen :start und :end', - 'chart_budget_in_period' => 'Diagramm für alle Buchungen im Kostenrahmen „:name” zwischen :start und :end', + 'budget_in_period' => 'Alle Buchungen für Budget „:name” zwischen :start und :end', + 'chart_budget_in_period' => 'Diagramm für alle Buchungen im Budget „:name” zwischen :start und :end', 'chart_account_in_period' => 'Diagramm für alle Transaktionen des Kontos „:name” zwischen :start und :end', 'chart_category_in_period' => 'Diagramm für alle Buchungen der Kategorie „:name” zwischen :start und :end', 'chart_category_all' => 'Diagramm für alle Buchungen der Kategorie „:name”', @@ -133,8 +133,8 @@ return [ 'intro_skip_label' => 'Überspringen', 'intro_done_label' => 'Erledigt', 'between_dates_breadcrumb' => 'Zwischen :start und :end', - 'all_journals_without_budget' => 'Alle Buchungen ohne Kostenrahmen', - 'journals_without_budget' => 'Buchungen ohne Kostenrahmen', + 'all_journals_without_budget' => 'Alle Transaktionen ohne Budget', + 'journals_without_budget' => 'Transaktionen ohne Budget', 'all_journals_without_category' => 'Alle Buchungen ohne Kategorie', 'journals_without_category' => 'Buchungen ohne Kategorie', 'all_journals_for_account' => 'Alle Buchungen für Konto „:name”', @@ -153,7 +153,7 @@ return [ 'title_transfer_between' => 'Alle Umbuchungen zwischen :start und :end', 'all_journals_for_category' => 'Alle Buchungen für Kategorie „:name”', 'all_journals_for_budget' => 'Alle Buchungen im Kostenrahmen „:name”', - 'chart_all_journals_for_budget' => 'Diagramm für alle Buchungen im Kostenrahmen „:name”', + 'chart_all_journals_for_budget' => 'Diagramm für alle Buchungen im Budget „:name”', 'journals_in_period_for_category' => 'Alle Buchungen für Kategorie „:name” zwischen :start und :end', 'journals_in_period_for_tag' => 'Alle Buchungen für das Schlagwort „:tag” zwischen :start und :end', 'not_available_demo_user' => 'Die Funktionen, auf welche sie zugreifen wollen, steht Demo-Benutzer nicht zur Verfügung.', @@ -353,8 +353,8 @@ return [ 'rule_trigger_description_contains' => 'Beschreibung enthält ":trigger_value"', 'rule_trigger_description_is_choice' => 'Beschreibung ist..', 'rule_trigger_description_is' => 'Beschreibung ist ":trigger_value"', - 'rule_trigger_budget_is_choice' => 'Kostenrahmen ist …', - 'rule_trigger_budget_is' => 'Kostenrahmen ist „:trigger_value”', + 'rule_trigger_budget_is_choice' => 'Budget ist..', + 'rule_trigger_budget_is' => 'Budget ist ":trigger_value"', 'rule_trigger_tag_is_choice' => '(Ein) Schlagwort ist …', 'rule_trigger_tag_is' => 'Ein Schlagwort ist ":trigger_value"', 'rule_trigger_currency_is_choice' => 'Buchungswährung ist …', @@ -367,10 +367,10 @@ return [ 'rule_trigger_has_no_category' => 'Transaktion ohne Kategorie', 'rule_trigger_has_any_category_choice' => 'Hat eine (beliebige) Kategorie', 'rule_trigger_has_any_category' => 'Transaktion hat eine (beliebige) Kategorie', - 'rule_trigger_has_no_budget_choice' => 'Enthält keinen Kostenrahmen', - 'rule_trigger_has_no_budget' => 'Buchung ohne Kostenrahmen', - 'rule_trigger_has_any_budget_choice' => 'Enthält einen (beliebigen) Kostenrahmen', - 'rule_trigger_has_any_budget' => 'Buchung enthält einen (beliebigen) Kostenrahmen', + 'rule_trigger_has_no_budget_choice' => 'Hat kein Budget', + 'rule_trigger_has_no_budget' => 'Buchung ohne Budget', + 'rule_trigger_has_any_budget_choice' => 'Hat ein (beliebiges) Budget', + 'rule_trigger_has_any_budget' => 'Transaktion hat ein (beliebiges) Budget', 'rule_trigger_has_no_tag_choice' => 'Enthält keine Schlagwörter', 'rule_trigger_has_no_tag' => 'Transaktion enthält keine Schlagwörter', 'rule_trigger_has_any_tag_choice' => 'Enthält einen oder mehrere (beliebige) Schlagwörter', @@ -389,8 +389,8 @@ return [ 'rule_trigger_notes_end' => 'Notizen mit „:trigger_value” beenden', 'rule_action_set_category' => 'Kategorie zu ":action_value" festlegen', 'rule_action_clear_category' => 'Bereinige Kategorie', - 'rule_action_set_budget' => 'Kostenrahmen zu „:action_value” festlegen', - 'rule_action_clear_budget' => 'Kostenrahmen leeren', + 'rule_action_set_budget' => 'Budget zu ":action_value" festlegen', + 'rule_action_clear_budget' => 'Lösche Budget', 'rule_action_add_tag' => 'Schlagwort „:action_value” hinzufügen', 'rule_action_remove_tag' => 'Schlagwort „:action_value” entfernen', 'rule_action_remove_all_tags' => 'Alle Schlüsselwörter entfernen', @@ -399,8 +399,8 @@ return [ 'rule_action_prepend_description' => 'Beschreibungen mit ":action_value" voranstellen', 'rule_action_set_category_choice' => 'Kategorie festlegen..', 'rule_action_clear_category_choice' => 'Bereinige jede Kategorie', - 'rule_action_set_budget_choice' => 'Kostenrahmen festlegen …', - 'rule_action_clear_budget_choice' => 'Alle Kostenrahmen leeren', + 'rule_action_set_budget_choice' => 'Budget festlegen..', + 'rule_action_clear_budget_choice' => 'Lösche jedes Budget', 'rule_action_add_tag_choice' => 'Schlagwort hinzufügen …', 'rule_action_remove_tag_choice' => 'Schlagwort entfernen …', 'rule_action_remove_all_tags_choice' => 'Alle Schlagwörter entfernen', @@ -450,7 +450,7 @@ return [ 'pref_home_screen_accounts' => 'Konten auf dem Startbildschirm', 'pref_home_screen_accounts_help' => 'Welche Konten sollen auf dem Startbildschirm angezeigt werden?', 'pref_view_range' => 'Sichtbare Zeiträume', - 'pref_view_range_help' => 'Einige Diagramme werden automatisch in Abschnitte aufgeteilt. Ihre Kostenrahmen werden ebenfalls in Abschnitte unterteilt. Welchen Zeitraum bevorzugen Sie?', + 'pref_view_range_help' => 'Einige Diagramme werden automatisch in Abschnitte aufgeteilt. Ihre Budgets werden ebenfalls in Abschnitte unterteilt. Welchen Zeitraum bevorzugen Sie?', 'pref_1D' => 'Ein Tag', 'pref_1W' => 'Eine Woche', 'pref_1M' => 'Ein Monat', @@ -480,8 +480,7 @@ return [ 'preferences_security' => 'Sicherheit', 'preferences_layout' => 'Anordnung', 'pref_home_show_deposits' => 'Einnahmen auf dem Startbildschirm anzeigen', - 'pref_home_show_deposits_info' => 'Der Startbildschirm zeigt schon Ihre Ausgabenkonten an. -Sollen zusätzlich Ihre Girokonten angezeigt werden?', + 'pref_home_show_deposits_info' => 'Der Startbildschirm zeigt schon Ihre Aufwandskonten an. Sollen zusätzlich Ihre Erlöskonten angezeigt werden?', 'pref_home_do_show_deposits' => 'Ja, zeige sie an', 'successful_count' => 'davon :count erfolgreich', 'list_page_size_title' => 'Einträge pro Seite', @@ -583,7 +582,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'convert_Transfer_to_withdrawal' => 'Konvertieren Sie diese Umbuchung in eine Ausgabe', 'convert_please_set_revenue_source' => 'Bitte ein Eingangskonto wählen, woher das Geld kommen wird.', 'convert_please_set_asset_destination' => 'Bitte wählen Sie das Bestandskonto, auf das das Geld überwiesen werden soll.', - 'convert_please_set_expense_destination' => 'Bitte wählen Sie ein Spesenkonto wo das Geld hingehen wird.', + 'convert_please_set_expense_destination' => 'Bitte wählen Sie einen Kreditor (Ausgabenkonto), an den das Geld gehen soll.', 'convert_please_set_asset_source' => 'Bitte das Bestandskonto wählen, von dem das Geld kommt.', 'convert_explanation_withdrawal_deposit' => 'Falls Sie diese Ausgabe in eine Einlage konvertieren, wird :amount in sourceName eingezahlt statt davon abgezogen zu werden.', 'convert_explanation_withdrawal_transfer' => 'Falls Sie diese Ausgabe in eine Umbuchung konvertieren, wird :amount von :sourceName auf ein neues Bestandskonto überwiesen, statt auf das Bestandskonto :destinationName.', @@ -602,7 +601,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'create_new_deposit' => 'Erstelle ein neues Einkommen', 'create_new_transfer' => 'Eine neue Umbuchung erstellen', 'create_new_asset' => 'Neues Bestandskonto erstellen', - 'create_new_expense' => 'Neuen Debitor (Ausgabe) erstellen', + 'create_new_expense' => 'Neuen Kreditor (Ausgabenkonto) erstellen', 'create_new_revenue' => 'Neuen Schuldner erstellen', 'create_new_piggy_bank' => 'Ein neues Sparschwein erstellen', 'create_new_bill' => 'Eine neue Rechnung erstellen', @@ -628,22 +627,22 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'options' => 'Einstellungen', // budgets: - 'create_new_budget' => 'Neuen Kostenrahmen erstellen', - 'store_new_budget' => 'Neuen Kostenrahmen speichern', - 'stored_new_budget' => 'Neuen Kostenrahmen „:name” speichern', + 'create_new_budget' => 'Ein neues Budget erstellen', + 'store_new_budget' => 'Neues Budget speichern', + 'stored_new_budget' => 'Neues Budget „:name” speichern', 'available_between' => 'Verfügbar zwischen :start und :end', - 'transactionsWithoutBudget' => 'Ausgaben ohne Kostenrahmen', - 'transactions_no_budget' => 'Ausgaben ohne Kostenrahmen zwischen :start und :end', + 'transactionsWithoutBudget' => 'Ausgaben ohne Budget', + 'transactions_no_budget' => 'Ausgaben ohne Budget zwischen :start und :end', 'spent_between' => 'Ausgegeben zwischen :start und :end', - 'createBudget' => 'Neuer Kostenrahmen', - 'inactiveBudgets' => 'Inaktive Kostenrahmen', - 'without_budget_between' => 'Buchungen ohne Kostenrahmen zwischen :start und :end', + 'createBudget' => 'Neues Budget', + 'inactiveBudgets' => 'Inaktive Budgets', + 'without_budget_between' => 'Buchungen ohne Budget zwischen :start und :end', 'delete_budget' => 'Kostenrahmen „:name” löschen', - 'deleted_budget' => 'Kostenrahmen „:name” gelöscht', - 'edit_budget' => 'Kostenrahmen „:name” bearbeiten', - 'updated_budget' => 'Kostenrahmen „:name” bearbeitet', + 'deleted_budget' => 'Budget ":name" gelöscht', + 'edit_budget' => 'Budget ":name" bearbeiten', + 'updated_budget' => 'Kostenrahmen „:name” aktualisiert', 'update_amount' => 'Betrag aktualisieren', - 'update_budget' => 'Kostenrahmen aktualisieren', + 'update_budget' => 'Budget aktualisieren', 'update_budget_amount_range' => '(Erwarteter) Verfügbaren Betrag zwischen :start und :end aktualisieren', 'budget_period_navigator' => 'Zeitraum-Navigator', 'info_on_available_amount' => 'Was habe ich verfügbar?', @@ -683,32 +682,32 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', // accounts: 'account_missing_transaction' => 'Konto #:id („:name”) kann nicht direkt angezeigt werden, denn Firefly fehlen Weiterleitungsinformationen.', 'details_for_asset' => 'Informationen zum Bestandskonto „:name”', - 'details_for_expense' => 'Angaben zum Spesenkonto „:name”', + 'details_for_expense' => 'Details zum Kreditor (Ausgabenkonto) „:name”', 'details_for_revenue' => 'Angaben zum Erlöskonto „:name”', 'details_for_cash' => 'Angaben zum Kassenkonto „:name”', 'store_new_asset_account' => 'Neues Bestandskonto speichern', - 'store_new_expense_account' => 'Speichere neuen Debitor (Ausgabe)', + 'store_new_expense_account' => 'Neuen Kreditor (Ausgabenkonto) speichern', 'store_new_revenue_account' => 'Speichere neuen Schuldner', 'edit_asset_account' => 'Bestandskonto „:name” bearbeiten', - 'edit_expense_account' => 'Spesenkonto „:name” bearbeiten', + 'edit_expense_account' => 'Kreditor (Ausgabenkonto) „:name” bearbeiten', 'edit_revenue_account' => 'Erlöskonto „:name” bearbeiten', 'delete_asset_account' => 'Bestandskonto „:name” löschen', - 'delete_expense_account' => 'Spesenkonto „:name” löschen', + 'delete_expense_account' => 'Kreditor (Ausgabenkonto) „:name” löschen', 'delete_revenue_account' => 'Erlöskonto „:name” löschen', 'delete_liabilities_account' => 'Verbindlichkeit „:name” löschen', 'asset_deleted' => 'Bestandskonto „:name” erfolgreich gelöscht', - 'expense_deleted' => 'Spesenkonto „:name” erfolgreich gelöscht', + 'expense_deleted' => 'Kreditor (Ausgabenkonto) „:name” erfolgreich gelöscht', 'revenue_deleted' => 'Erlöskonto „:name” erfolgreich gelöscht', 'update_asset_account' => 'Bestandskonto aktualisieren', 'update_liabilities_account' => 'Verbindlichkeit aktualisieren', - 'update_expense_account' => 'Debitor (Ausgabe) bearbeiten', + 'update_expense_account' => 'Kreditor (Ausgabenkonto) aktualisieren', 'update_revenue_account' => 'Schuldner bearbeiten', 'make_new_asset_account' => 'Neues Bestandskonto erstellen', - 'make_new_expense_account' => 'Neuen Debitor (Ausgabe) erstellen', + 'make_new_expense_account' => 'Einen neuen Kreditor (Ausgabenkonto) erstellen', 'make_new_revenue_account' => 'Neuen Schuldner erstellen', 'make_new_liabilities_account' => 'Neue Verbindlichkeit erstellen', 'asset_accounts' => 'Bestandskonten', - 'expense_accounts' => 'Debitoren (Ausgaben)', + 'expense_accounts' => 'Kreditoren (Ausgabenkonten)', 'revenue_accounts' => 'Schuldner', 'cash_accounts' => 'Bargeldkonten', 'Cash account' => 'Bargeldkonto', @@ -744,7 +743,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'no_data_for_chart' => 'Es gibt derzeit (noch) nicht genügend Informationen, um dieses Diagramm zu generieren.', 'select_more_than_one_account' => 'Bitte wählen Sie mehr als einen Konto aus', 'select_more_than_one_category' => 'Bitte wählen Sie mehr als eine Kategorie aus', - 'select_more_than_one_budget' => 'Bitte wählen Sie mehr als einen Kostenrahmen aus', + 'select_more_than_one_budget' => 'Bitte wählen Sie mehr als ein Budget aus', 'select_more_than_one_tag' => 'Bitte wählen Sie mehr als ein Schlüsselwort aus', 'account_default_currency' => 'Dies ist die Standardwährung für dieses Konto.', 'reconcile_has_more' => 'Ihr Firefly III-Konto verfügt über mehr Geld, als Ihre Bank behauptet. Es gibt mehrere Möglichkeiten. Bitte wählen Sie aus, was Sie tun möchten. Drücken Sie anschließend auf „Ausgleich bestätigen”.', @@ -808,13 +807,13 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'mass_edit_journals' => 'Anzahl von Buchungen bearbeiten', 'mass_bulk_journals' => 'Massenbearbeitung mehrerer Buchungen', 'mass_bulk_journals_explain' => 'Wenn Sie Ihre Buchungen nicht einzeln mit der Massenbearbeitungsfunktion ändern möchten, können Sie diese in einem Schritt aktualisieren. Wählen Sie einfach in den untenstehenden Feldern die bevorzugte Kategorie, die Schlüsselwörter oder das zur Verfügung stehende Budget aus, und alle Umsätze in der Tabelle werden aktualisiert.', - 'bulk_set_new_values' => 'Verwenden Sie die folgenden Eingänge, um neue Werte einzustellen. Wenn Sie sie leer lassen, werden sie für alle geleert. Beachten Sie auch, dass nur Abhebungen mit einem Kostenrahmen versehen werden.', + 'bulk_set_new_values' => 'Verwenden Sie die folgenden Felder, um neue Werte einzustellen. Wenn Sie sie leer lassen, werden sie für alle geleert. Beachten Sie auch, dass nur Abhebungen mit einem Budget versehen werden.', 'no_bulk_category' => 'Kategorie nicht aktualisieren', - 'no_bulk_budget' => 'Kostenrahmen nicht aktualisieren', + 'no_bulk_budget' => 'Budget nicht aktualisieren', 'no_bulk_tags' => 'Schlagwörter nicht aktualisieren', 'bulk_edit' => 'Massenbearbeitung', 'cannot_edit_other_fields' => 'Andere Felder als die hier gezeigten können Sie nicht gleichzeitig bearbeitet werden, da es keinen Platz gibt, diese anzuzeigen. Bitte folgen Sie dem Link und bearbeiten Sie die Felder einzeln, wenn Sie diese bearbeiten möchten.', - 'no_budget' => '(kein Kostenrahmen)', + 'no_budget' => '(kein Budget)', 'no_budget_squared' => '(kein Kostenrahmen)', 'perm-delete-many' => 'Das Löschen von mehreren Elementen auf einmal kann sich störend auswirken. Bitte seien Sie vorsichtig.', 'mass_deleted_transactions_success' => ':amount Überweisung(en) gelöscht.', @@ -850,7 +849,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', // home page: 'yourAccounts' => 'Deine Konten', - 'budgetsAndSpending' => 'Kostenrahmen und Ausgaben', + 'budgetsAndSpending' => 'Budgets und Ausgaben', 'savings' => 'Erspartes', 'newWithdrawal' => 'Neue Ausgabe', 'newDeposit' => 'Neue Einnahme', @@ -872,14 +871,14 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'accounts' => 'Konten', 'Asset account' => 'Bestandskonto', 'Default account' => 'Bestandskonto', - 'Expense account' => 'Debitor (Ausgabe)', + 'Expense account' => 'Kreditor (Ausgabenkonto)', 'Revenue account' => 'Kreditor Einnahme', 'Initial balance account' => 'Eröffnungssaldo', 'account_type_Debt' => 'Schuld', 'account_type_Loan' => 'Darlehen', 'account_type_Mortgage' => 'Hypothek', 'account_type_Credit card' => 'Kreditkarte', - 'budgets' => 'Kostenrahmen', + 'budgets' => 'Budgets', 'tags' => 'Schlagwörter', 'reports' => 'Berichte', 'transactions' => 'Buchungen', @@ -935,7 +934,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'balanceEnd' => 'Bilanz zum Ende der Periode', 'splitByAccount' => 'Nach Konto aufteilen', 'coveredWithTags' => 'Mit Schlagwörtern versehen', - 'leftInBudget' => 'Verblieben im Kostenrahmen', + 'leftInBudget' => 'Übrig im Budget', 'sumOfSums' => 'Summe der Summen', 'noCategory' => '(keine Kategorie)', 'notCharged' => '(Noch) nicht belastet', @@ -964,7 +963,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'expense_entry' => 'Aufwendungen auf Konto „:name” zwischen :start und :end', 'category_entry' => 'Aufwendungen der Kategorie „:name” zwischen :start und :end', 'budget_spent_amount' => 'Ausgaben im Haushalt „:budget” zwischen :start und :end', - 'balance_amount' => 'Ausgaben im Kostenrahmen „:budget” bezahlt von Konto „:account” zwischen :start und :end', + 'balance_amount' => 'Ausgaben im Budget „:budget” bezahlt von Konto „:account” zwischen :start und :end', 'no_audit_activity' => 'Zwischen :start und :end wurde keine Aktivität auf dem Konto :account_name festgestellt.', 'audit_end_balance' => 'Kontostand von :account_name Ende war: :balance', 'reports_extra_options' => 'Zusatzoptionen', @@ -976,7 +975,7 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'select_tag' => 'Schlagworte wählen.', 'income_per_category' => 'Einnahmen pro Kategorie', 'expense_per_category' => 'Ausgaben pro Kategorie', - 'expense_per_budget' => 'Ausgaben Je Kostenrahmen', + 'expense_per_budget' => 'Ausgaben pro Budget', 'income_per_account' => 'Einnahmen pro Konto', 'expense_per_account' => 'Ausgaben pro Konto', 'expense_per_tag' => 'Ausgaben je Schlagwort', @@ -1004,19 +1003,19 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'account_role_savingAsset' => 'Sparkonto', 'account_role_ccAsset' => 'Kreditkarte', 'account_role_cashWalletAsset' => 'Geldbörse', - 'budget_chart_click' => 'Klicken Sie auf einen Namen des Kostenrahmen in der obigen Tabelle, um ein Diagramm anzuzeigen.', + 'budget_chart_click' => 'Klicken Sie auf einen Budgetnamen in der obigen Tabelle, um ein Diagramm anzuzeigen.', 'category_chart_click' => 'Klicken Sie auf einen Kategorienamen in der obigen Tabelle, um ein Diagramm zu sehen.', 'in_out_accounts' => 'Einnahmen und Ausgaben je Kombination', 'in_out_per_category' => 'Einnahmen und Ausgaben je Kategorie', - 'out_per_budget' => 'Ausgaben je Kostenrahmen', + 'out_per_budget' => 'Ausgaben je Budget', 'select_expense_revenue' => 'Aufwands-/Erlöskonto auswählen', // charts: 'chart' => 'Diagram', 'month' => 'Monat', - 'budget' => 'Kostenrahmen', + 'budget' => 'Budget', 'spent' => 'Ausgegeben', - 'spent_in_budget' => 'Verbraucht im Kostenrahmen', + 'spent_in_budget' => 'Verbraucht im Budget', 'left_to_spend' => 'Verbleibend zum Ausgeben', 'earned' => 'Verdient', 'overspent' => 'Zuviel ausgegeben', @@ -1104,8 +1103,8 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'user_data_information' => 'Nutzerdaten', 'user_information' => 'Benutzerinformationen', 'total_size' => 'Gesamtgröße', - 'budget_or_budgets' => 'Kostenrahmen', - 'budgets_with_limits' => 'Kostenrahmen mit mit festgelegtem Betrag', + 'budget_or_budgets' => 'Budget(s)', + 'budgets_with_limits' => 'Budget(s) mit festgelegtem Betrag', 'nr_of_rules_in_total_groups' => ':count_rules Regel(n) in :count_groups Gruppenregel(n)', 'tag_or_tags' => 'Schlagwörter', 'configuration_updated' => 'Die Konfiguration wurde aktualisiert', @@ -1207,10 +1206,10 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'no_accounts_intro_asset' => 'Sie verfügen noch über keine Bestandskonten. Bestandskonten sind Ihre Hauptkonten: Ihr Girokonto, Sparkonto, Gemeinschaftskonto oder sogar Ihre Kreditkarte.', 'no_accounts_imperative_asset' => 'Um Firefly III nutzen zu können, müssen Sie mindestens ein Bestandskonto anlegen. Lassen Sie uns das jetzt tun:', 'no_accounts_create_asset' => 'Bestandskonto anlegen', - 'no_accounts_title_expense' => 'Lassen Sie uns jetzt ein Spesenkonto anlegen!', - 'no_accounts_intro_expense' => 'Sie besitzen noch keine Spesenkonten. Aufwandskonten sind die Orte, an denen Sie Geld ausgeben, wie z.B. in Geschäften und Supermärkten.', - 'no_accounts_imperative_expense' => 'Spesenkonten werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt eines erstellen:', - 'no_accounts_create_expense' => 'Spesenkonto anlegen', + 'no_accounts_title_expense' => 'Lassen Sie uns jetzt einen Kreditor (Ausgabenkonto) anlegen!', + 'no_accounts_intro_expense' => 'Sie besitzen noch keine Ausgabenkonten. Ausgabenkonten sind die Orte, an denen Sie Geld ausgeben, wie z.B. in Geschäften und Supermärkten.', + 'no_accounts_imperative_expense' => 'Kreditoren (Ausgabenkonten) werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt einen erstellen:', + 'no_accounts_create_expense' => 'Einen Kreditor (Ausgabenkonto) anlegen', 'no_accounts_title_revenue' => 'Lassen Sie uns jetzt ein Einkommenskonto anlegen!', 'no_accounts_intro_revenue' => 'Sie verfügen noch über keine Ertragskonten. Ertragskonten sind die Einrichtungen, von denen Sie Geld erhalten, wie z.B. von Ihrem Arbeitgeber.', 'no_accounts_imperative_revenue' => 'Ertragskonten werden beim Anlegen von Buchungen automatisch angelegt, können aber auch manuell angelegt werden. Lassen Sie uns jetzt eines erstellen:', @@ -1220,9 +1219,9 @@ Sollen zusätzlich Ihre Girokonten angezeigt werden?', 'no_accounts_imperative_liabilities' => 'Sie müssen diese Funktion nicht verwenden, aber sie kann nützlich sein, wenn Sie diese Dinge im Auge behalten möchten.', 'no_accounts_create_liabilities' => 'Verbindlichkeit erstellen', 'no_budgets_title_default' => 'Lassen Sie uns jetzt ein Haushaltsplan erstellen', - 'no_budgets_intro_default' => 'Sie verfügen noch über keine Kostenrahmen. Kostenrahmen werden verwendet, um Ihre Ausgaben in logische Gruppen zu gliedern, die Sie mit einem weichen Obergrenzemlimit versehen können, um Ihre Ausgaben zu begrenzen.', - 'no_budgets_imperative_default' => 'Die Kostenrahmen sind die grundlegenden Instrumente des Finanzmanagements. Lassen Sie uns jetzt einen erstellen:', - 'no_budgets_create_default' => 'Kostenrahmen erstellen', + 'no_budgets_intro_default' => 'Sie haben noch keine Budgets. Budgets werden verwendet, um Ihre Ausgaben in logischen Gruppen zu organisieren, die Sie mit einem Limit versehen können, um Ihre Ausgaben zu begrenzen.', + 'no_budgets_imperative_default' => 'Budgets sind die grundlegenden Instrumente des Finanzmanagements. Lassen Sie uns jetzt eines erstellen:', + 'no_budgets_create_default' => 'Ein Budget erstellen', 'no_categories_title_default' => 'Erstellen wir eine Kategorie!', 'no_categories_intro_default' => 'Sie verfügen noch über keine Kategorien. Kategorien werden verwendet, um Ihre Buchungen zu verfeinern und mit der entsprechenden Kategorie zu kennzeichnen.', 'no_categories_imperative_default' => 'Kategorien werden automatisch angelegt, wenn Sie Buchungen anlegen, können aber auch manuell angelegt werden. Lassen Sie uns jetzt eine erstellen:', diff --git a/resources/lang/de_DE/form.php b/resources/lang/de_DE/form.php index dbbb0fc12a..80a33e5e95 100644 --- a/resources/lang/de_DE/form.php +++ b/resources/lang/de_DE/form.php @@ -59,7 +59,7 @@ return [ 'split_journal_explanation' => 'Diese Überweisung in mehrere Teile aufteilen', 'currency' => 'Währung', 'account_id' => 'Bestandskonto', - 'budget_id' => 'Kostenrahmen', + 'budget_id' => 'Budget', 'openingBalance' => 'Eröffnungsbilanz', 'tagMode' => 'Schlagwort-Modus', 'tag_position' => 'Schlagwort-Speicherort', @@ -145,7 +145,7 @@ return [ 'accounts' => 'Exportiere die Überweisungen von diesem Konto', 'delete_account' => 'Konto „:name” löschen', 'delete_bill' => 'Rechnung „:name” löschen', - 'delete_budget' => 'Kostenrahmen „:name” löschen', + 'delete_budget' => 'Budget „:name” löschen', 'delete_category' => 'Kategorie „:name” löschen', 'delete_currency' => 'Währung „:name” löschen', 'delete_journal' => 'Lösche Überweisung mit Beschreibung ":description"', @@ -180,7 +180,7 @@ return [ 'also_delete_rules' => 'Die einzige Regel, die mit diesem Konto verknüpft ist, wird ebenfalls gelöscht. | Alle :count Regeln, die mit diesem Konto verknüpft sind, werden ebenfalls gelöscht.', 'also_delete_piggyBanks' => 'Das einzige Sparschwein, das mit diesem Konto verknüpft ist, wird ebenfalls gelöscht. | Alle :count Sparschweine, die mit diesem Konto verknüpft sind, werden ebenfalls gelöscht.', 'bill_keep_transactions' => 'Die einzige mit dieser Rechnung verbundene Buchung wird nicht gelöscht. | Alle :count Buchungen, die mit dieser Rechnung verbunden sind, werden nicht gelöscht.', - 'budget_keep_transactions' => 'Die einzige mit diesem Kostenrahmen verbundene Buchung wird nicht gelöscht. | Alle :count Buchungen, die mit diesem Kostenrahmen verbunden sind, werden nicht gelöscht.', + 'budget_keep_transactions' => 'Die einzige mit diesem Budget zugeordnete Buchung wird nicht gelöscht. | Alle :count Buchungen, die diesem Budget zugeordnet sind, werden nicht gelöscht.', 'category_keep_transactions' => 'Die einzige Buchung, die mit dieser Kategorie verbunden ist, wird nicht gelöscht. | Alle :count Buchungen, die mit dieser Kategorie verbunden sind, werden nicht gelöscht.', 'recurring_keep_transactions' => 'Die einzige Buchung, die durch diesen Dauerauftrag erstellt wurde, wird nicht gelöscht. | Alle :count Buchungen, die durch diesen Dauerauftrag erstellt wurden, werden nicht gelöscht.', 'tag_keep_transactions' => 'Das einzige mit dieser Rechnung verbundene Schlagwort wird nicht gelöscht. | Alle :count Schlagwörter, die mit dieser Rechnung verbunden sind, werden nicht gelöscht.', diff --git a/resources/lang/de_DE/import.php b/resources/lang/de_DE/import.php index b30259fe85..b1249a65b2 100644 --- a/resources/lang/de_DE/import.php +++ b/resources/lang/de_DE/import.php @@ -167,13 +167,13 @@ return [ 'job_config_ynab_apply_rules_text' => 'Standardmäßig werden Ihre Regeln auf die Buchungen angewendet, die während dieser Importroutine erstellt wurden. Wenn Sie dies nicht möchten, deaktivieren Sie dieses Kontrollkästchen.', // job configuration for YNAB: - 'job_config_ynab_select_budgets' => 'Wählen Sie Ihren Kostenrahmen aus', - 'job_config_ynab_select_budgets_text' => 'Sie haben :count Kostenrahmen bei YNAB gespeichert. Bitte wählen Sie diejenige aus, aus der Firefly III die Buchungen importieren soll.', - 'job_config_ynab_no_budgets' => 'Es sind keine Kostenrahmen verfügbar, aus denen importiert werden kann.', + 'job_config_ynab_select_budgets' => 'Wählen Sie Ihr Budget aus', + 'job_config_ynab_select_budgets_text' => 'Sie haben :count Budgets bei YNAB gespeichert. Bitte wählen Sie dasjenige aus, aus dem Firefly III die Buchungen importieren soll.', + 'job_config_ynab_no_budgets' => 'Es sind keine Budgets verfügbar, aus denen importiert werden kann.', 'ynab_no_mapping' => 'Es wurden keine Konten zum Importieren ausgewählt.', - 'job_config_ynab_bad_currency' => 'Aus de(n/m) folgenden Kostenrahmen kann nicht importieren werden, da Sie über keine Konten mit der gleichen Währung wie diese Kostenrahmen verfügen.', + 'job_config_ynab_bad_currency' => 'Aus de(n/m) folgenden Budget(s) kann nicht importieren werden, da Sie über keine Konten mit der gleichen Währung wie diese(s) Budget(s) verfügen.', 'job_config_ynab_accounts_title' => 'Konten auswählen', - 'job_config_ynab_accounts_text' => 'In diesem Kostenrahmen stehen Ihnen die folgenden Konten zur Verfügung. Bitte wählen Sie aus, von welchen Konten Sie importieren möchten und wo die Buchungen gespeichert werden sollen.', + 'job_config_ynab_accounts_text' => 'In diesem Budget stehen Ihnen die folgenden Konten zur Verfügung. Bitte wählen Sie aus, von welchen Konten Sie importieren möchten und wo die Buchungen gespeichert werden sollen.', // keys from "extra" array: @@ -261,13 +261,13 @@ return [ 'column_account-bic' => 'Bestandskonto (BIC)', 'column_amount' => 'Betrag', 'column_amount_foreign' => 'Betrag (in Fremdwährung)', - 'column_amount_debit' => 'Betrag (Debitoren-Spalte)', + 'column_amount_debit' => 'Betrag (Ausgabe)', 'column_amount_credit' => 'Betrag (Guthaben-Spalte)', 'column_amount-comma-separated' => 'Betrag (Komma als Dezimaltrennzeichen)', 'column_bill-id' => 'Rechnung (ID übereinstimmend mit FF3)', 'column_bill-name' => 'Rechnungsname', - 'column_budget-id' => 'Kostenrahmen-ID (übereinstimmend mit FF3)', - 'column_budget-name' => 'Kostenrahmenname', + 'column_budget-id' => 'Budget-ID (übereinstimmend mit FF3)', + 'column_budget-name' => 'Budgetname', 'column_category-id' => 'Kategorie (ID übereinstimmend mit FF3)', 'column_category-name' => 'Kategorie (Name)', 'column_currency-code' => 'Währungsstandard (ISO 4217)', diff --git a/resources/lang/de_DE/intro.php b/resources/lang/de_DE/intro.php index 2d170551b8..7228fadbff 100644 --- a/resources/lang/de_DE/intro.php +++ b/resources/lang/de_DE/intro.php @@ -38,12 +38,12 @@ return [ 'accounts_create_asset_virtual' => 'Es kann manchmal helfen, Ihrem Konto ein virtuelles Gleichgewicht zu geben: eine zusätzliche Menge, die dem tatsächlichen Kontostand immer hinzugefügt oder daraus entfernt wird.', // budgets index - 'budgets_index_intro' => 'Kostenrahmen werden zur Verwaltung Ihrer Finanzen verwendet und bilden eine der Kernfunktionen von Firefly III.', + 'budgets_index_intro' => 'Mit Budgets verwalten Sie Ihre Finanzen und bilden damit eine der Kernfunktionen von Firefly III.', 'budgets_index_set_budget' => 'Stellen Sie Ihr Gesamthaushaltsplan für jeden Zeitraum so ein, dass Firefly III Ihnen mitteilen kann, ob Sie alle verfügbaren Gelder vorgesehen haben.', 'budgets_index_see_expenses_bar' => 'Dieser Balken wird sich langsam füllen, wenn Sie Geld ausgeben.', - 'budgets_index_navigate_periods' => 'Navigieren Sie durch Zeitabschnitte, um Kostenrahmen im Voraus festzulegen.', - 'budgets_index_new_budget' => 'Erstellen Sie neue Kostenrahmen, wie Sie es für richtig halten.', - 'budgets_index_list_of_budgets' => 'Verwenden Sie diese Tabelle, um die Beträge für jeden Kostenrahmen festzulegen und einen Überblick zu erhalten.', + 'budgets_index_navigate_periods' => 'Navigieren Sie durch Zeiträume, um die Budgets im Voraus zu setzen.', + 'budgets_index_new_budget' => 'Erstellen Sie neue Budgets nach Ihren Wünschen.', + 'budgets_index_list_of_budgets' => 'Verwenden Sie diese Tabelle, um die Beträge für jedes Budget festzulegen und einen Überblick zu erhalten.', 'budgets_index_outro' => 'Um mehr über die Finanzplanung zu erfahren, klicken Sie auf das Hilfesymbol in der oberen rechten Ecke.', // reports (index) @@ -64,11 +64,11 @@ return [ 'reports_report_tag_intro' => 'Dieser Bericht gibt Ihnen Einblick in eine oder mehrere Schlagwörter.', 'reports_report_tag_pieCharts' => 'Diese Diagramme geben Ihnen Einblick in Ausgaben und Einnahmen ja Schlagwort, Konto, Kategorie oder Kostenrahmen.', - 'reports_report_tag_incomeAndExpensesChart' => 'Diese Tabelle zeigt Ihre Ausgaben und Einnahmen ja Schlagwort.', + 'reports_report_tag_incomeAndExpensesChart' => 'Diese Tabelle zeigt Ihre Ausgaben und Einnahmen je Schlagwort.', - 'reports_report_budget_intro' => 'Dieser Bericht gibt Ihnen Einblick in eine oder mehrere Kostenrahmen.', - 'reports_report_budget_pieCharts' => 'Diese Diagramme geben Ihnen Einblick in Ausgaben und Einnahmen je Kostenrahmen oder Konto.', - 'reports_report_budget_incomeAndExpensesChart' => 'Diese Tabelle zeigt Ihre Ausgaben und Einnahmen je Kostenrahmen.', + 'reports_report_budget_intro' => 'Dieser Bericht gibt Ihnen Einblick in eine oder mehrere Budgets.', + 'reports_report_budget_pieCharts' => 'Diese Diagramme geben Ihnen Einblick in Ausgaben und Einnahmen pro Budget oder pro Konto.', + 'reports_report_budget_incomeAndExpensesChart' => 'Dieses Diagramm zeigt Ihre Ausgaben und Einnahmen je Budget.', // create transaction 'transactions_create_switch_box' => 'Verwenden Sie diese Schaltflächen, um schnell den Typ der Transaktion zu ändern, die Sie speichern möchten.', diff --git a/resources/lang/de_DE/list.php b/resources/lang/de_DE/list.php index 7f5049df6f..26611feb85 100644 --- a/resources/lang/de_DE/list.php +++ b/resources/lang/de_DE/list.php @@ -64,7 +64,7 @@ return [ 'from' => 'Von', 'piggy_bank' => 'Sparschwein', 'to' => 'An', - 'budget' => 'Kostenrahmen', + 'budget' => 'Budget', 'category' => 'Kategorie', 'bill' => 'Rechnung', 'withdrawal' => 'Ausgabe', diff --git a/resources/lang/de_DE/passwords.php b/resources/lang/de_DE/passwords.php index 8888015525..f3a5b410d9 100644 --- a/resources/lang/de_DE/passwords.php +++ b/resources/lang/de_DE/passwords.php @@ -25,7 +25,7 @@ declare(strict_types=1); return [ 'password' => 'Passwörter müssen mindestens 6 Zeichen lang sein und übereinstimmen.', 'user' => 'Wir können keinen Benutzer mit dieser E-Mail Adresse finden.', - 'token' => 'Der Authentifizierungsschlüssel zum Zurücksetzen des Passwortes ist ungültig.', + 'token' => 'Das Token zum Zurücksetzen des Passwortes ist ungültig.', 'sent' => 'Wir haben Ihnen einen Link zum Zurücksetzen des Passworts zugesendet!', 'reset' => 'Ihr Passwort wurde zurückgesetzt!', 'blocked' => 'Netter Versuch.', diff --git a/resources/lang/fr_FR/form.php b/resources/lang/fr_FR/form.php index e196cf1bfa..858bcc931e 100644 --- a/resources/lang/fr_FR/form.php +++ b/resources/lang/fr_FR/form.php @@ -122,7 +122,7 @@ return [ 'date_format' => 'Format de la date', 'specifix' => 'Banque - ou déposer des corrections spécifiques', 'attachments[]' => 'Pièces jointes', - 'store_new_withdrawal' => 'Enregistrer un nouveau retrait', + 'store_new_withdrawal' => 'Enregistrer une nouvelle dépense', 'store_new_deposit' => 'Enregistrer un nouveau dépôt', 'store_new_transfer' => 'Enregistrer un nouveau transfert', 'add_new_withdrawal' => 'Ajouter un nouveau retrait', diff --git a/resources/lang/tr_TR/config.php b/resources/lang/tr_TR/config.php index f0971dbfd6..1d36ae0d87 100644 --- a/resources/lang/tr_TR/config.php +++ b/resources/lang/tr_TR/config.php @@ -24,7 +24,7 @@ declare(strict_types=1); return [ 'html_language' => 'tr', - 'locale' => 'en, English, en_US.utf8, en_US.UTF-8', + 'locale' => 'tr, Turkish, tr_TR, tr_TR.utf8, tr_TR.UTF-8', 'month' => '%B %Y', 'month_and_day' => '%e %B %Y', 'month_and_date_day' => '%A %B %e, %Y', diff --git a/resources/lang/tr_TR/firefly.php b/resources/lang/tr_TR/firefly.php index 59c171f131..e91ba2527e 100644 --- a/resources/lang/tr_TR/firefly.php +++ b/resources/lang/tr_TR/firefly.php @@ -37,7 +37,7 @@ return [ 'cancel' => 'İptal', 'from' => 'Gönderen', 'to' => 'Alıcı', - 'help_translating' => 'This help text is not yet available in your language. Will you help translate?', + 'help_translating' => 'Bu yardım metni henüz sizin dilinizde bulunmamaktadır. Çeviriye katkı sağlamak ister misiniz?', 'showEverything' => 'Her şeyi göster', 'never' => 'Asla', 'no_results_for_empty_search' => 'Aramanız boştu, bu nedenle hiçbir şey bulunamadı.', @@ -62,7 +62,7 @@ return [ 'new_asset_account' => 'Yeni varlık hesabı', 'new_expense_account' => 'Yeni gider hesabı', 'new_revenue_account' => 'Yeni Gelir Hesabı', - 'new_liabilities_account' => 'New liability', + 'new_liabilities_account' => 'Yeni sorumluluk', 'new_budget' => 'Yeni bütçe', 'new_bill' => 'Yeni Fatura', 'block_account_logout' => 'Çıkış yaptınız. Engellenen hesaplar bu siteyi kullanamaz. Geçerli bir e-posta adresiyle kayıt oldunuz mu?', @@ -91,7 +91,7 @@ return [ 'warning_much_data' => ':days günlük verinin yüklenmesi biraz zaman alabilir.', 'registered' => 'Başarıyla kaydoldunuz!', 'Default asset account' => 'Varsayılan varlık hesabı', - 'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the budgets-page. Budgets can help you keep track of expenses.', + 'no_budget_pointer' => 'Henüz bütçeniz yok gibi görünüyor. Bütçe sayfasında bütçe oluşturun. Bütçeler giderleri takip etmenize yardımcı olabilir.', 'Savings account' => 'Birikim Hesabı', 'Credit card' => 'Kredi Kartı', 'source_accounts' => 'Kaynak Hesap(lar)', @@ -184,9 +184,9 @@ return [ 'scopes_will_be_able' => 'Bu uygulama şunları yapabilir:', 'button_authorize' => 'İzin ver', 'none_in_select_list' => '(Yok)', - 'name_in_currency' => ':name in :currency', - 'paid_in_currency' => 'Paid in :currency', - 'unpaid_in_currency' => 'Unpaid in :currency', + 'name_in_currency' => ':name :currency', + 'paid_in_currency' => ':currency olarak ödenen', + 'unpaid_in_currency' => ':currency olarak ödenmeyen', // check for updates: 'update_check_title' => 'Güncellemeleri kontrol et', @@ -231,7 +231,7 @@ return [ 'import_and_export' => 'İçe al ve dışarı aktar', 'export_data' => 'Veriyi dışarı aktar', 'export_and_backup_data' => 'Veriyi dışarı aktar', - 'export_data_intro' => 'Use the exported data to move to a new financial application. Please note that these files are not meant as a backup. They do not contain enough meta-data to fully restore a new Firefly III installation. If you want to make a backup of your data, please backup the database directly.', + 'export_data_intro' => 'Verilen veriler yeni bir mali uygulama taşımak için kullanın. Unutmayın ki bu dosyaları yedek olarak demek değildir. Tümüyle yeni bir ateş böceği III yükleme geri yüklemek için yeterli meta verileri içerdikleri değil. Verilerinizi yedeklemek istiyorsanız, lütfen doğrudan veritabanı yedekleme.', 'export_format' => 'Dışa Aktarma Biçimi', 'export_format_csv' => 'Virgülle ayrılmış değerler (CSV file)', 'export_format_mt940' => 'MT940 uyumlu format', @@ -275,8 +275,8 @@ return [ 'move_rule_group_up' => 'Grup kuralını yukarı taşı', 'move_rule_group_down' => 'Grup kuralını aşağı taşı', 'save_rules_by_moving' => 'Bu kuralları başka bir kural grubuna taşıyarak kaydedin:', - 'make_new_rule' => 'Make a new rule in rule group ":title"', - 'make_new_rule_no_group' => 'Make a new rule', + 'make_new_rule' => '":title" kural grubunda yeni kural oluşturun', + 'make_new_rule_no_group' => 'Yeni bir kural ekleyin', 'instructions_rule_from_bill' => 'In order to match transactions to your new bill ":name", Firefly III can create a rule that will automatically be checked against any transactions you store. Please verify the details below and store the rule to have Firefly III automatically match transactions to your new bill.', 'rule_is_strict' => 'sıkı kural', 'rule_is_not_strict' => 'sıkı olmayan kural', @@ -474,7 +474,7 @@ işlemlerin kontrol edildiğini lütfen unutmayın.', 'pref_two_factor_auth_code' => 'Doğrulama kodu', 'pref_two_factor_auth_code_help' => 'QR kodunu, telefonunuzda Authy veya Authenticator uygulamalarında bulun ve oluşturulan kodu girin.', 'pref_two_factor_auth_reset_code' => 'Doğrulama kodunu sıfırla', - 'pref_two_factor_auth_disable_2fa' => 'Disable 2FA', + 'pref_two_factor_auth_disable_2fa' => '2FA\'yı kapatın', '2fa_use_secret_instead' => 'If you cannot scan the QR code, feel free to use the secret instead: :secret.', 'pref_save_settings' => 'Ayarları kaydet', 'saved_preferences' => 'Tercihler kaydedildi!', diff --git a/resources/views/vendor/passport/authorize.twig b/resources/views/vendor/passport/authorize.twig index 8d0496fbe0..db98cfed92 100644 --- a/resources/views/vendor/passport/authorize.twig +++ b/resources/views/vendor/passport/authorize.twig @@ -1,6 +1,7 @@ + diff --git a/tests/Api/V1/Controllers/AboutControllerTest.php b/tests/Api/V1/Controllers/AboutControllerTest.php index 2622b2d56c..a36c5dbaa8 100644 --- a/tests/Api/V1/Controllers/AboutControllerTest.php +++ b/tests/Api/V1/Controllers/AboutControllerTest.php @@ -39,7 +39,7 @@ class AboutControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/AccountControllerTest.php b/tests/Api/V1/Controllers/AccountControllerTest.php index d6cdbfe354..da9d6157c9 100644 --- a/tests/Api/V1/Controllers/AccountControllerTest.php +++ b/tests/Api/V1/Controllers/AccountControllerTest.php @@ -44,7 +44,7 @@ class AccountControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/AttachmentControllerTest.php b/tests/Api/V1/Controllers/AttachmentControllerTest.php index 1a06c7db01..f18ee9087f 100644 --- a/tests/Api/V1/Controllers/AttachmentControllerTest.php +++ b/tests/Api/V1/Controllers/AttachmentControllerTest.php @@ -27,6 +27,7 @@ use FireflyIII\Helpers\Attachments\AttachmentHelperInterface; use FireflyIII\Models\Attachment; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface; +use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use Laravel\Passport\Passport; use Log; @@ -45,7 +46,7 @@ class AttachmentControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -57,6 +58,7 @@ class AttachmentControllerTest extends TestCase { // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); $repository->shouldReceive('destroy')->once()->andReturn(true); @@ -78,6 +80,8 @@ class AttachmentControllerTest extends TestCase { // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $content = 'Attachment content ' . random_int(100, 1000); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -99,12 +103,13 @@ class AttachmentControllerTest extends TestCase * Download attachment but file doesn't exist. * * @covers \FireflyIII\Api\V1\Controllers\AttachmentController - * @expectedExceptionMessage Some error message */ public function testDownloadNotExisting(): void { // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $content = 'Attachment content ' . random_int(100, 1000); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -129,6 +134,8 @@ class AttachmentControllerTest extends TestCase { // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + // mock calls: $repository->shouldReceive('setUser')->once(); @@ -166,6 +173,8 @@ class AttachmentControllerTest extends TestCase // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + // mock calls: $repository->shouldReceive('setUser')->once(); @@ -192,6 +201,8 @@ class AttachmentControllerTest extends TestCase // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + // mock calls: $repository->shouldReceive('setUser')->once(); @@ -219,6 +230,8 @@ class AttachmentControllerTest extends TestCase // mock stuff: $repository = $this->mock(AttachmentRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + // mock calls: $repository->shouldReceive('setUser')->once(); @@ -254,6 +267,8 @@ class AttachmentControllerTest extends TestCase { // mock repositories $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + /** @var Attachment $attachment */ $attachment = $this->user()->attachments()->first(); @@ -287,6 +302,11 @@ class AttachmentControllerTest extends TestCase */ public function testUpload(): void { + $repository = $this->mock(AttachmentRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $repository->shouldReceive('setUser')->once(); + + /** @var Attachment $attachment */ $attachment = $this->user()->attachments()->first(); $content = 'Hello there'; diff --git a/tests/Api/V1/Controllers/AvailableBudgetControllerTest.php b/tests/Api/V1/Controllers/AvailableBudgetControllerTest.php index a37c12f2b7..cbac78120a 100644 --- a/tests/Api/V1/Controllers/AvailableBudgetControllerTest.php +++ b/tests/Api/V1/Controllers/AvailableBudgetControllerTest.php @@ -45,7 +45,7 @@ class AvailableBudgetControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/BillControllerTest.php b/tests/Api/V1/Controllers/BillControllerTest.php index 01da6566f1..d7cde583c6 100644 --- a/tests/Api/V1/Controllers/BillControllerTest.php +++ b/tests/Api/V1/Controllers/BillControllerTest.php @@ -44,7 +44,7 @@ class BillControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Api/V1/Controllers/BudgetControllerTest.php b/tests/Api/V1/Controllers/BudgetControllerTest.php index 5c22cda9a1..1c00519a84 100644 --- a/tests/Api/V1/Controllers/BudgetControllerTest.php +++ b/tests/Api/V1/Controllers/BudgetControllerTest.php @@ -43,7 +43,7 @@ class BudgetControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/BudgetLimitControllerTest.php b/tests/Api/V1/Controllers/BudgetLimitControllerTest.php index 3febef2744..4f20362d67 100644 --- a/tests/Api/V1/Controllers/BudgetLimitControllerTest.php +++ b/tests/Api/V1/Controllers/BudgetLimitControllerTest.php @@ -44,7 +44,7 @@ class BudgetLimitControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/CategoryControllerTest.php b/tests/Api/V1/Controllers/CategoryControllerTest.php index 5e4161742b..0dfae77a9b 100644 --- a/tests/Api/V1/Controllers/CategoryControllerTest.php +++ b/tests/Api/V1/Controllers/CategoryControllerTest.php @@ -43,7 +43,7 @@ class CategoryControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/ConfigurationControllerTest.php b/tests/Api/V1/Controllers/ConfigurationControllerTest.php index ba3c4add09..71c5c0bcc0 100644 --- a/tests/Api/V1/Controllers/ConfigurationControllerTest.php +++ b/tests/Api/V1/Controllers/ConfigurationControllerTest.php @@ -25,8 +25,10 @@ namespace Tests\Api\V1\Controllers; use FireflyConfig; use FireflyIII\Models\Configuration; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Laravel\Passport\Passport; use Log; +use Mockery; use Tests\TestCase; /** @@ -42,7 +44,7 @@ class ConfigurationControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -52,6 +54,9 @@ class ConfigurationControllerTest extends TestCase */ public function testIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $demoConfig = new Configuration; $demoConfig->name = 'is_demo_site'; $demoConfig->data = false; @@ -96,6 +101,9 @@ class ConfigurationControllerTest extends TestCase */ public function testIndexNotOwner(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false); + Passport::actingAs($this->emptyUser()); $response = $this->get('/api/v1/configuration'); $response->assertStatus(500); @@ -109,7 +117,9 @@ class ConfigurationControllerTest extends TestCase */ public function testUpdate(): void { - $data = [ + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $data = [ 'name' => 'permission_update_check', 'value' => 1, @@ -159,6 +169,9 @@ class ConfigurationControllerTest extends TestCase */ public function testUpdateBoolean(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $data = [ 'name' => 'single_user_mode', 'value' => 'true', @@ -209,6 +222,8 @@ class ConfigurationControllerTest extends TestCase */ public function testUpdateInvalid(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $data = [ 'name' => 'last_update_check', 'value' => 'true', @@ -225,6 +240,9 @@ class ConfigurationControllerTest extends TestCase */ public function testUpdateNotOwner(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false); + Passport::actingAs($this->emptyUser()); $response = $this->post('/api/v1/configuration'); $response->assertStatus(500); diff --git a/tests/Api/V1/Controllers/CurrencyControllerTest.php b/tests/Api/V1/Controllers/CurrencyControllerTest.php index 347d7c92be..b077886e82 100644 --- a/tests/Api/V1/Controllers/CurrencyControllerTest.php +++ b/tests/Api/V1/Controllers/CurrencyControllerTest.php @@ -46,7 +46,7 @@ class CurrencyControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -87,6 +87,7 @@ class CurrencyControllerTest extends TestCase $collection = TransactionCurrency::get(); // mock stuff: $repository = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -125,6 +126,7 @@ class CurrencyControllerTest extends TestCase // create stuff $currency = TransactionCurrency::first(); $repository = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -152,6 +154,7 @@ class CurrencyControllerTest extends TestCase $currency = TransactionCurrency::first(); $repository = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -182,8 +185,10 @@ class CurrencyControllerTest extends TestCase */ public function testStoreWithDefault(): void { - $currency = TransactionCurrency::first(); - $repository = $this->mock(CurrencyRepositoryInterface::class); + $currency = TransactionCurrency::first(); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $preference = new Preference; $preference->data = 'EUR'; // mock calls: @@ -221,6 +226,7 @@ class CurrencyControllerTest extends TestCase { $currency = TransactionCurrency::first(); $repository = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -253,6 +259,7 @@ class CurrencyControllerTest extends TestCase { $currency = TransactionCurrency::first(); $repository = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $preference = new Preference; $preference->data = 'EUR'; diff --git a/tests/Api/V1/Controllers/CurrencyExchangeRateControllerTest.php b/tests/Api/V1/Controllers/CurrencyExchangeRateControllerTest.php index 09da194a12..2020a058ea 100644 --- a/tests/Api/V1/Controllers/CurrencyExchangeRateControllerTest.php +++ b/tests/Api/V1/Controllers/CurrencyExchangeRateControllerTest.php @@ -46,7 +46,7 @@ class CurrencyExchangeRateControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Api/V1/Controllers/JournalLinkControllerTest.php b/tests/Api/V1/Controllers/JournalLinkControllerTest.php index 770f29d091..79885131a1 100644 --- a/tests/Api/V1/Controllers/JournalLinkControllerTest.php +++ b/tests/Api/V1/Controllers/JournalLinkControllerTest.php @@ -48,7 +48,7 @@ class JournalLinkControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Api/V1/Controllers/LinkTypeControllerTest.php b/tests/Api/V1/Controllers/LinkTypeControllerTest.php index 003ae40c98..f138c0c9fc 100644 --- a/tests/Api/V1/Controllers/LinkTypeControllerTest.php +++ b/tests/Api/V1/Controllers/LinkTypeControllerTest.php @@ -44,7 +44,7 @@ class LinkTypeControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Api/V1/Controllers/PiggyBankControllerTest.php b/tests/Api/V1/Controllers/PiggyBankControllerTest.php index 7c24398e80..74931d6000 100644 --- a/tests/Api/V1/Controllers/PiggyBankControllerTest.php +++ b/tests/Api/V1/Controllers/PiggyBankControllerTest.php @@ -46,7 +46,7 @@ class PiggyBankControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/PreferencesControllerTest.php b/tests/Api/V1/Controllers/PreferencesControllerTest.php index f2fdf4e3d1..4ab718634e 100644 --- a/tests/Api/V1/Controllers/PreferencesControllerTest.php +++ b/tests/Api/V1/Controllers/PreferencesControllerTest.php @@ -44,7 +44,7 @@ class PreferencesControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/RecurrenceControllerTest.php b/tests/Api/V1/Controllers/RecurrenceControllerTest.php index 59100edca7..d9fa24a92b 100644 --- a/tests/Api/V1/Controllers/RecurrenceControllerTest.php +++ b/tests/Api/V1/Controllers/RecurrenceControllerTest.php @@ -29,12 +29,17 @@ use FireflyIII\Models\AccountType; use FireflyIII\Models\Recurrence; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; +use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; use Illuminate\Support\Collection; use Laravel\Passport\Passport; use Log; use Tests\TestCase; +/** + * + * Class RecurrenceControllerTest + */ class RecurrenceControllerTest extends TestCase { /** @@ -44,7 +49,7 @@ class RecurrenceControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -54,7 +59,9 @@ class RecurrenceControllerTest extends TestCase public function testDelete(): void { // mock stuff: - $repository = $this->mock(RecurringRepositoryInterface::class); + $repository = $this->mock(RecurringRepositoryInterface::class); + $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -77,7 +84,15 @@ class RecurrenceControllerTest extends TestCase $recurrences = $this->user()->recurrences()->get(); // mock stuff: - $repository = $this->mock(RecurringRepositoryInterface::class); + $repository = $this->mock(RecurringRepositoryInterface::class); + $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + + $budgetRepos->shouldReceive('findNull')->atLeast()->once()->withAnyArgs() + ->andReturn($this->user()->budgets()->first()); + + $piggyRepos->shouldReceive('findNull')->atLeast()->once()->withAnyArgs() + ->andReturn($this->user()->piggyBanks()->first()); // mock calls: $repository->shouldReceive('setUser'); @@ -103,7 +118,12 @@ class RecurrenceControllerTest extends TestCase $recurrence = $this->user()->recurrences()->first(); // mock stuff: - $repository = $this->mock(RecurringRepositoryInterface::class); + $repository = $this->mock(RecurringRepositoryInterface::class); + $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + + $budgetRepos->shouldReceive('findNull')->atLeast()->once()->withAnyArgs() + ->andReturn($this->user()->budgets()->first()); // mock calls: $repository->shouldReceive('setUser'); @@ -134,6 +154,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -211,6 +232,8 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); // mock calls: @@ -287,7 +310,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); - + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); // mock calls: @@ -366,6 +389,8 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); $expenseAccount = $this->user()->accounts()->where('account_type_id', 4)->first(); @@ -447,6 +472,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); $expenseAccount = $this->user()->accounts()->where('account_type_id', 4)->first(); @@ -526,6 +552,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -617,6 +644,8 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); // mock calls: @@ -691,6 +720,8 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -764,6 +795,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -851,6 +883,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -924,6 +957,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -997,6 +1031,8 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -1070,6 +1106,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -1143,6 +1180,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -1216,6 +1254,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser'); @@ -1286,6 +1325,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser'); @@ -1359,6 +1399,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser'); @@ -1436,6 +1477,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -1501,6 +1543,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); @@ -1564,6 +1607,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); $otherAssetAccount = $this->user()->accounts()->where('account_type_id', 3)->where('id', '!=', $assetAccount->id)->first(); @@ -1644,6 +1688,7 @@ class RecurrenceControllerTest extends TestCase $factory = $this->mock(CategoryFactory::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); $assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first(); diff --git a/tests/Api/V1/Controllers/RuleControllerTest.php b/tests/Api/V1/Controllers/RuleControllerTest.php index 2f5dc9adee..dfe8356d66 100644 --- a/tests/Api/V1/Controllers/RuleControllerTest.php +++ b/tests/Api/V1/Controllers/RuleControllerTest.php @@ -43,7 +43,7 @@ class RuleControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/RuleGroupControllerTest.php b/tests/Api/V1/Controllers/RuleGroupControllerTest.php index c21b7785ab..51aefc9165 100644 --- a/tests/Api/V1/Controllers/RuleGroupControllerTest.php +++ b/tests/Api/V1/Controllers/RuleGroupControllerTest.php @@ -43,7 +43,7 @@ class RuleGroupControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/TransactionControllerTest.php b/tests/Api/V1/Controllers/TransactionControllerTest.php index f4480aa2d7..aa66cc836e 100644 --- a/tests/Api/V1/Controllers/TransactionControllerTest.php +++ b/tests/Api/V1/Controllers/TransactionControllerTest.php @@ -48,7 +48,7 @@ class TransactionControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Api/V1/Controllers/UserControllerTest.php b/tests/Api/V1/Controllers/UserControllerTest.php index 489c205554..823e489c96 100644 --- a/tests/Api/V1/Controllers/UserControllerTest.php +++ b/tests/Api/V1/Controllers/UserControllerTest.php @@ -44,7 +44,7 @@ class UserControllerTest extends TestCase { parent::setUp(); Passport::actingAs($this->user()); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -56,13 +56,13 @@ class UserControllerTest extends TestCase */ public function testDelete(): void { + $userRepository = $this->mock(UserRepositoryInterface::class); + $userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $userRepository->shouldReceive('destroy')->once(); // create a user first: - $user = User::create(['email' => 'some@newu' . random_int(1, 10000) . 'ser.nl', 'password' => 'hello', 'blocked' => 0]); - // call API - $response = $this->delete('/api/v1/users/' . $user->id); + $response = $this->delete('/api/v1/users/' . $this->user()->id); $response->assertStatus(204); - $this->assertDatabaseMissing('users', ['id' => $user->id]); } /** @@ -73,6 +73,8 @@ class UserControllerTest extends TestCase */ public function testDeleteNoAdmin(): void { + $userRepository = $this->mock(UserRepositoryInterface::class); + $userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false); Passport::actingAs($this->emptyUser()); // create a user first: diff --git a/tests/Feature/Controllers/Account/CreateControllerTest.php b/tests/Feature/Controllers/Account/CreateControllerTest.php index 37576b188b..674b156821 100644 --- a/tests/Feature/Controllers/Account/CreateControllerTest.php +++ b/tests/Feature/Controllers/Account/CreateControllerTest.php @@ -33,9 +33,10 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Preferences; use Tests\TestCase; -use Mockery; + /** * * Class CreateControllerTest @@ -48,7 +49,7 @@ class CreateControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -66,7 +67,7 @@ class CreateControllerTest extends TestCase $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); // mock hasRole for user repository: - $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(),'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); // get all types: $accountRepos->shouldReceive('getAccountTypeByType')->withArgs(['Debt'])->andReturn(AccountType::find(11))->once(); @@ -90,8 +91,8 @@ class CreateControllerTest extends TestCase public function testStore(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(AccountRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(AccountRepositoryInterface::class); $repository->shouldReceive('store')->once()->andReturn(factory(Account::class)->make()); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -119,8 +120,8 @@ class CreateControllerTest extends TestCase public function testStoreAnother(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(AccountRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(AccountRepositoryInterface::class); $repository->shouldReceive('store')->once()->andReturn(factory(Account::class)->make()); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); diff --git a/tests/Feature/Controllers/Account/DeleteControllerTest.php b/tests/Feature/Controllers/Account/DeleteControllerTest.php index 01a8d1c2fb..7ed0e72ec8 100644 --- a/tests/Feature/Controllers/Account/DeleteControllerTest.php +++ b/tests/Feature/Controllers/Account/DeleteControllerTest.php @@ -27,7 +27,6 @@ namespace Tests\Feature\Controllers\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; -use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; @@ -47,7 +46,7 @@ class DeleteControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -57,14 +56,14 @@ class DeleteControllerTest extends TestCase public function testDelete(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(AccountRepositoryInterface::class); - $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $repository->shouldReceive('getAccountsByType')->withArgs([[AccountType::ASSET]])->andReturn(new Collection); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); // mock hasRole for user repository: - $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(),'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $this->be($this->user()); $account = $this->user()->accounts()->where('account_type_id', 3)->whereNull('deleted_at')->first(); @@ -81,8 +80,8 @@ class DeleteControllerTest extends TestCase public function testDestroy(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(AccountRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(AccountRepositoryInterface::class); $repository->shouldReceive('findNull')->withArgs([0])->once()->andReturn(null); $repository->shouldReceive('destroy')->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); diff --git a/tests/Feature/Controllers/Account/EditControllerTest.php b/tests/Feature/Controllers/Account/EditControllerTest.php index 1d2a0b9f90..44cf046a7b 100644 --- a/tests/Feature/Controllers/Account/EditControllerTest.php +++ b/tests/Feature/Controllers/Account/EditControllerTest.php @@ -49,7 +49,7 @@ class EditControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -57,10 +57,10 @@ class EditControllerTest extends TestCase */ public function testEdit(): void { - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(CurrencyRepositoryInterface::class); - $accountRepos = $this->mock(AccountRepositoryInterface::class); - $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $repository->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); @@ -103,10 +103,10 @@ class EditControllerTest extends TestCase */ public function testEditLiability(): void { - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(CurrencyRepositoryInterface::class); - $accountRepos = $this->mock(AccountRepositoryInterface::class); - $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock hasRole for user repository: $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); @@ -149,10 +149,10 @@ class EditControllerTest extends TestCase public function testEditNull(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $repository = $this->mock(CurrencyRepositoryInterface::class); - $accountRepos = $this->mock(AccountRepositoryInterface::class); - $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock hasRole for user repository: $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); diff --git a/tests/Feature/Controllers/Account/IndexControllerTest.php b/tests/Feature/Controllers/Account/IndexControllerTest.php index c8000218e9..f33c09ccc5 100644 --- a/tests/Feature/Controllers/Account/IndexControllerTest.php +++ b/tests/Feature/Controllers/Account/IndexControllerTest.php @@ -50,7 +50,7 @@ class IndexControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -71,7 +71,7 @@ class IndexControllerTest extends TestCase $userRepos = $this->mock(UserRepositoryInterface::class); // mock hasRole for user repository: - $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(),'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $repository->shouldReceive('getAccountsByType')->andReturn(new Collection([$account])); $repository->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1'); diff --git a/tests/Feature/Controllers/Account/ReconcileControllerTest.php b/tests/Feature/Controllers/Account/ReconcileControllerTest.php index cb7569c612..97a6c1814b 100644 --- a/tests/Feature/Controllers/Account/ReconcileControllerTest.php +++ b/tests/Feature/Controllers/Account/ReconcileControllerTest.php @@ -47,7 +47,7 @@ class ReconcileControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -106,9 +106,12 @@ class ReconcileControllerTest extends TestCase */ public function testReconcile(): void { - $userRepos = $this->mock(UserRepositoryInterface::class); - $repository = $this->mock(CurrencyRepositoryInterface::class); - $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue') + ->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); // mock hasRole for user repository: $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); @@ -129,6 +132,10 @@ class ReconcileControllerTest extends TestCase */ public function testReconcileInitialBalance(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $transaction = Transaction::leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') ->where('accounts.user_id', $this->user()->id)->where('accounts.account_type_id', 6)->first(['account_id']); $this->be($this->user()); @@ -143,9 +150,12 @@ class ReconcileControllerTest extends TestCase */ public function testReconcileNoDates(): void { - $userRepos = $this->mock(UserRepositoryInterface::class); - $repository = $this->mock(CurrencyRepositoryInterface::class); - $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue') + ->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); // mock hasRole for user repository: $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); @@ -167,9 +177,12 @@ class ReconcileControllerTest extends TestCase */ public function testReconcileNoEndDate(): void { - $userRepos = $this->mock(UserRepositoryInterface::class); - $repository = $this->mock(CurrencyRepositoryInterface::class); - $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue') + ->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); // mock hasRole for user repository: $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); @@ -207,15 +220,19 @@ class ReconcileControllerTest extends TestCase */ public function testShow(): void { - $userRepos = $this->mock(UserRepositoryInterface::class); - $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(JournalRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos->shouldReceive('getMetaValue') + ->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->atLeast()->once()->withArgs([1])->andReturn(TransactionCurrency::find(1)); + // mock hasRole for user repository: $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); - $journal = $this->user()->transactionJournals()->where('transaction_type_id', 5)->first(); + $journal = $this->user()->transactionJournals()->where('transaction_type_id', 5)->first(); $repository->shouldReceive('firstNull')->andReturn(new TransactionJournal); $repository->shouldReceive('getAssetTransaction')->once()->andReturn($journal->transactions()->first()); @@ -238,9 +255,9 @@ class ReconcileControllerTest extends TestCase { $accountRepos = $this->mock(AccountRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); - $repository = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(JournalRepositoryInterface::class); - $journal = $this->user()->transactionJournals()->where('transaction_type_id', 5)->first(); + $journal = $this->user()->transactionJournals()->where('transaction_type_id', 5)->first(); $repository->shouldReceive('firstNull')->andReturn(new TransactionJournal); $repository->shouldReceive('getAssetTransaction')->once()->andReturnNull(); @@ -279,8 +296,8 @@ class ReconcileControllerTest extends TestCase */ public function testSubmit(): void { - $repository = $this->mock(AccountRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(AccountRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); @@ -310,7 +327,7 @@ class ReconcileControllerTest extends TestCase */ public function testUpdate(): void { - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); @@ -336,6 +353,9 @@ class ReconcileControllerTest extends TestCase */ public function testUpdateNotReconcile(): void { + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journal = $this->user()->transactionJournals()->where('transaction_type_id', '!=', 5)->first(); $data = ['amount' => '5',]; @@ -351,6 +371,9 @@ class ReconcileControllerTest extends TestCase */ public function testUpdateZero(): void { + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journal = $this->user()->transactionJournals()->where('transaction_type_id', 5)->first(); $data = ['amount' => '0',]; diff --git a/tests/Feature/Controllers/Account/ShowControllerTest.php b/tests/Feature/Controllers/Account/ShowControllerTest.php index 0e2eb30b7e..caef8a9ed6 100644 --- a/tests/Feature/Controllers/Account/ShowControllerTest.php +++ b/tests/Feature/Controllers/Account/ShowControllerTest.php @@ -51,7 +51,7 @@ class ShowControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -67,13 +67,15 @@ class ShowControllerTest extends TestCase $this->session(['start' => $date, 'end' => clone $date]); // mock stuff: - $tasker = $this->mock(AccountTaskerInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); - $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $tasker = $this->mock(AccountTaskerInterface::class); $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); // mock hasRole for user repository: - $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(),'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $currencyRepos->shouldReceive('findNull')->andReturn(TransactionCurrency::find(1)); @@ -121,10 +123,11 @@ class ShowControllerTest extends TestCase $tasker = $this->mock(AccountTaskerInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); $userRepos = $this->mock(UserRepositoryInterface::class); // mock hasRole for user repository: - $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(),'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $currencyRepos->shouldReceive('findNull')->andReturn(TransactionCurrency::find(1)); @@ -159,12 +162,16 @@ class ShowControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Account\ShowController - * @expectedExceptionMessage End is after start! */ public function testShowBrokenBadDates(): void { // mock $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + + $accountRepos->shouldReceive('isLiability')->atLeast()->once()->andReturn(false); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->session(['start' => '2018-01-01', 'end' => '2017-12-01']); @@ -172,6 +179,7 @@ class ShowControllerTest extends TestCase $account = $this->user()->accounts()->where('account_type_id', 3)->orderBy('id', 'ASC')->whereNull('deleted_at')->first(); $response = $this->get(route('accounts.show', [$account->id, '2018-01-01', '2017-12-01'])); $response->assertStatus(500); + $response->assertSee('End is after start!'); } /** @@ -181,6 +189,9 @@ class ShowControllerTest extends TestCase { // mock $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $date = new Carbon; $this->session(['start' => $date, 'end' => clone $date]); @@ -209,7 +220,7 @@ class ShowControllerTest extends TestCase $repository = $this->mock(AccountRepositoryInterface::class); // mock hasRole for user repository: - $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(),'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $collector->shouldReceive('setAccounts')->andReturnSelf(); @@ -244,6 +255,8 @@ class ShowControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $date = new Carbon; diff --git a/tests/Feature/Controllers/Admin/ConfigurationControllerTest.php b/tests/Feature/Controllers/Admin/ConfigurationControllerTest.php index ba164baeaf..a7e4350d38 100644 --- a/tests/Feature/Controllers/Admin/ConfigurationControllerTest.php +++ b/tests/Feature/Controllers/Admin/ConfigurationControllerTest.php @@ -24,7 +24,9 @@ namespace Tests\Feature\Controllers\Admin; use FireflyConfig; use FireflyIII\Models\Configuration; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -38,7 +40,7 @@ class ConfigurationControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -47,8 +49,11 @@ class ConfigurationControllerTest extends TestCase */ public function testIndex(): void { - $this->be($this->user()); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + + $this->be($this->user()); $falseConfig = new Configuration; $falseConfig->data = false; @@ -70,6 +75,11 @@ class ConfigurationControllerTest extends TestCase */ public function testPostIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $falseConfig = new Configuration; $falseConfig->data = false; diff --git a/tests/Feature/Controllers/Admin/HomeControllerTest.php b/tests/Feature/Controllers/Admin/HomeControllerTest.php index d108af0459..4240952c63 100644 --- a/tests/Feature/Controllers/Admin/HomeControllerTest.php +++ b/tests/Feature/Controllers/Admin/HomeControllerTest.php @@ -24,7 +24,9 @@ namespace Tests\Feature\Controllers\Admin; use Event; use FireflyIII\Events\AdminRequestedTestMessage; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -38,7 +40,7 @@ class HomeControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -46,6 +48,10 @@ class HomeControllerTest extends TestCase */ public function testIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $this->be($this->user()); $response = $this->get(route('admin.index')); $response->assertStatus(200); @@ -58,6 +64,11 @@ class HomeControllerTest extends TestCase */ public function testTestMessage(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + Event::fake(); $this->be($this->user()); diff --git a/tests/Feature/Controllers/Admin/LinkControllerTest.php b/tests/Feature/Controllers/Admin/LinkControllerTest.php index 6ea0c3567d..6d52590d3c 100644 --- a/tests/Feature/Controllers/Admin/LinkControllerTest.php +++ b/tests/Feature/Controllers/Admin/LinkControllerTest.php @@ -24,8 +24,10 @@ namespace Tests\Feature\Controllers\Admin; use FireflyIII\Models\LinkType; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -39,7 +41,7 @@ class LinkControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -47,7 +49,10 @@ class LinkControllerTest extends TestCase */ public function testCreate(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); $this->be($this->user()); $response = $this->get(route('admin.links.create')); $response->assertStatus(200); @@ -58,10 +63,14 @@ class LinkControllerTest extends TestCase */ public function testDeleteEditable(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); // create editable link type just in case: LinkType::create(['editable' => 1, 'inward' => 'hello', 'outward' => 'bye', 'name' => 'Test type']); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $linkType = LinkType::where('editable', 1)->first(); $repository->shouldReceive('get')->once()->andReturn(new Collection([$linkType])); $repository->shouldReceive('countJournals')->andReturn(2); @@ -75,8 +84,12 @@ class LinkControllerTest extends TestCase */ public function testDeleteNonEditable(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); $linkType = LinkType::where('editable', 0)->first(); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); $this->be($this->user()); $response = $this->get(route('admin.links.delete', [$linkType->id])); $response->assertStatus(302); @@ -88,8 +101,12 @@ class LinkControllerTest extends TestCase */ public function testDestroy(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + // create editable link type just in case: LinkType::create(['editable' => 1, 'inward' => 'hellox', 'outward' => 'byex', 'name' => 'Test typeX']); @@ -108,6 +125,11 @@ class LinkControllerTest extends TestCase */ public function testEditEditable(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + // create editable link type just in case: LinkType::create(['editable' => 1, 'inward' => 'hello Y', 'outward' => 'bye Y', 'name' => 'Test type Y']); @@ -122,6 +144,11 @@ class LinkControllerTest extends TestCase */ public function testEditNonEditable(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $linkType = LinkType::where('editable', 0)->first(); $this->be($this->user()); $response = $this->get(route('admin.links.edit', [$linkType->id])); @@ -134,6 +161,11 @@ class LinkControllerTest extends TestCase */ public function testIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + + $linkTypes = LinkType::inRandomOrder()->take(3)->get(); $repository = $this->mock(LinkTypeRepositoryInterface::class); $repository->shouldReceive('get')->andReturn($linkTypes); @@ -148,6 +180,11 @@ class LinkControllerTest extends TestCase */ public function testShow(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + + $linkType = LinkType::first(); $this->be($this->user()); $response = $this->get(route('admin.links.show', [$linkType->id])); @@ -160,8 +197,13 @@ class LinkControllerTest extends TestCase */ public function testStore(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); - $data = [ + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + + $data = [ 'name' => 'test ' . random_int(1, 10000), 'inward' => 'test inward' . random_int(1, 10000), 'outward' => 'test outward' . random_int(1, 10000), @@ -182,8 +224,13 @@ class LinkControllerTest extends TestCase */ public function testStoreRedirect(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); - $data = [ + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + + $data = [ 'name' => 'test ' . random_int(1, 10000), 'inward' => 'test inward' . random_int(1, 10000), 'outward' => 'test outward' . random_int(1, 10000), @@ -203,8 +250,12 @@ class LinkControllerTest extends TestCase */ public function testUpdate(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + // create editable link type just in case: $linkType = LinkType::create(['editable' => 1, 'inward' => 'helloxz', 'outward' => 'bzyex', 'name' => 'Test tyzpeX']); $repository->shouldReceive('update')->once()->andReturn(new $linkType); @@ -227,8 +278,13 @@ class LinkControllerTest extends TestCase */ public function testUpdateNonEditable(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); - $linkType = LinkType::where('editable', 0)->first(); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + + $linkType = LinkType::where('editable', 0)->first(); $data = [ 'name' => 'test ' . random_int(1, 10000), @@ -249,7 +305,12 @@ class LinkControllerTest extends TestCase */ public function testUpdateRedirect(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + // create editable link type just in case: $linkType = LinkType::create(['editable' => 1, 'inward' => 'healox', 'outward' => 'byaex', 'name' => 'Test tyapeX']); diff --git a/tests/Feature/Controllers/Admin/UpdateControllerTest.php b/tests/Feature/Controllers/Admin/UpdateControllerTest.php index f331bb5e3d..932ad9fbf1 100644 --- a/tests/Feature/Controllers/Admin/UpdateControllerTest.php +++ b/tests/Feature/Controllers/Admin/UpdateControllerTest.php @@ -26,6 +26,7 @@ use Carbon\Carbon; use FireflyConfig; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Configuration; +use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\Services\Github\Object\Release; use FireflyIII\Services\Github\Request\UpdateRequest; use Log; @@ -43,7 +44,7 @@ class UpdateControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -51,6 +52,10 @@ class UpdateControllerTest extends TestCase */ public function testIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $this->be($this->user()); $config = new Configuration; @@ -74,6 +79,11 @@ class UpdateControllerTest extends TestCase */ public function testPost(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $falseConfig = new Configuration; $falseConfig->data = false; @@ -93,6 +103,11 @@ class UpdateControllerTest extends TestCase */ public function testUpdateCheck(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $falseConfig = new Configuration; $falseConfig->data = false; FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); @@ -123,6 +138,11 @@ class UpdateControllerTest extends TestCase */ public function testUpdateCheckCurrent(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $falseConfig = new Configuration; $falseConfig->data = false; FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); @@ -151,6 +171,11 @@ class UpdateControllerTest extends TestCase */ public function testUpdateCheckError(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $falseConfig = new Configuration; $falseConfig->data = false; FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); @@ -174,6 +199,11 @@ class UpdateControllerTest extends TestCase */ public function testUpdateCheckNewer(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->atLeast()->once(); + $falseConfig = new Configuration; $falseConfig->data = false; FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); diff --git a/tests/Feature/Controllers/Admin/UserControllerTest.php b/tests/Feature/Controllers/Admin/UserControllerTest.php index 17f5f01c00..7d421689fd 100644 --- a/tests/Feature/Controllers/Admin/UserControllerTest.php +++ b/tests/Feature/Controllers/Admin/UserControllerTest.php @@ -39,7 +39,7 @@ class UserControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/AttachmentControllerTest.php b/tests/Feature/Controllers/AttachmentControllerTest.php index d7dc41f2d3..c6550265f7 100644 --- a/tests/Feature/Controllers/AttachmentControllerTest.php +++ b/tests/Feature/Controllers/AttachmentControllerTest.php @@ -26,8 +26,10 @@ use FireflyIII\Models\Attachment; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -45,7 +47,7 @@ class AttachmentControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -56,6 +58,10 @@ class AttachmentControllerTest extends TestCase // mock stuff $attachRepository = $this->mock(AttachmentRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); $response = $this->get(route('attachments.delete', [1])); @@ -72,6 +78,8 @@ class AttachmentControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('destroy')->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -90,6 +98,8 @@ class AttachmentControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('exists')->once()->andReturn(true); $repository->shouldReceive('getContent')->once()->andReturn('This is attachment number one.'); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -103,13 +113,14 @@ class AttachmentControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\AttachmentController - * @expectedExceptionMessage Could not find the indicated attachment */ public function testDownloadFail(): void { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('exists')->once()->andReturn(false); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -125,6 +136,10 @@ class AttachmentControllerTest extends TestCase { $attachRepository = $this->mock(AttachmentRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $attachRepository->shouldReceive('getNoteText')->andReturn('OK'); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -140,6 +155,9 @@ class AttachmentControllerTest extends TestCase public function testIndex() { $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $repository->shouldReceive('get')->andReturn(new Collection([Attachment::first()]))->once(); $repository->shouldReceive('exists')->andReturn(true)->once(); @@ -159,6 +177,8 @@ class AttachmentControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('update')->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -181,11 +201,14 @@ class AttachmentControllerTest extends TestCase */ public function testView(): void { - $repository = $this->mock(AttachmentRepositoryInterface::class); + $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository->shouldReceive('exists')->once()->andReturn(true); $repository->shouldReceive('getContent')->once()->andReturn('This is attachment number one.'); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); $response = $this->get(route('attachments.view', [3])); @@ -198,10 +221,13 @@ class AttachmentControllerTest extends TestCase */ public function testViewFail(): void { - $repository = $this->mock(AttachmentRepositoryInterface::class); + $repository = $this->mock(AttachmentRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository->shouldReceive('exists')->once()->andReturn(false); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); $response = $this->get(route('attachments.view', [1])); diff --git a/tests/Feature/Controllers/Auth/ForgotPasswordControllerTest.php b/tests/Feature/Controllers/Auth/ForgotPasswordControllerTest.php index 6361f0095e..7e695b0478 100644 --- a/tests/Feature/Controllers/Auth/ForgotPasswordControllerTest.php +++ b/tests/Feature/Controllers/Auth/ForgotPasswordControllerTest.php @@ -37,7 +37,7 @@ class ForgotPasswordControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Auth/TwoFactorControllerTest.php b/tests/Feature/Controllers/Auth/TwoFactorControllerTest.php index f196fd401c..0f7cfa0591 100644 --- a/tests/Feature/Controllers/Auth/TwoFactorControllerTest.php +++ b/tests/Feature/Controllers/Auth/TwoFactorControllerTest.php @@ -39,7 +39,7 @@ class TwoFactorControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -89,7 +89,6 @@ class TwoFactorControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Auth\TwoFactorController - * @expectedExceptionMessage Your two factor authentication secret is empty */ public function testIndexNoSecret(): void { diff --git a/tests/Feature/Controllers/BillControllerTest.php b/tests/Feature/Controllers/BillControllerTest.php index a4d6e1ea6c..46463ccfc2 100644 --- a/tests/Feature/Controllers/BillControllerTest.php +++ b/tests/Feature/Controllers/BillControllerTest.php @@ -29,8 +29,10 @@ use FireflyIII\Models\Bill; use FireflyIII\Models\Rule; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Bill\BillRepositoryInterface; +use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\TransactionRules\TransactionMatcher; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; @@ -54,7 +56,7 @@ class BillControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -67,6 +69,12 @@ class BillControllerTest extends TestCase $attachHelper = $this->mock(AttachmentHelperInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $billRepos = $this->mock(BillRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -85,6 +93,11 @@ class BillControllerTest extends TestCase $attachHelper = $this->mock(AttachmentHelperInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $billRepos = $this->mock(BillRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -104,6 +117,9 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $repository->shouldReceive('destroy')->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -123,6 +139,12 @@ class BillControllerTest extends TestCase $attachHelper = $this->mock(AttachmentHelperInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $billRepos = $this->mock(BillRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $billRepos->shouldReceive('getNoteText')->andReturn('Hello'); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -144,6 +166,10 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $collection = new Collection([$bill]); $repository->shouldReceive('getPaginator')->andReturn(new LengthAwarePaginator($collection, 1, 50))->once(); @@ -171,10 +197,14 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('getRulesForBill')->andReturn(new Collection([$rule])); //calls for transaction matcher: + // todo bad to do this: $matcher = $this->mock(TransactionMatcher::class); $matcher->shouldReceive('setLimit')->once()->withArgs([100000]); $matcher->shouldReceive('setRange')->once()->withArgs([100000]); @@ -199,6 +229,9 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -218,6 +251,10 @@ class BillControllerTest extends TestCase $collector = $this->mock(TransactionCollectorInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $repository->shouldReceive('getYearAverage')->andReturn('0'); $repository->shouldReceive('getOverallAverage')->andReturn('0'); $repository->shouldReceive('nextExpectedMatch')->andReturn(new Carbon); @@ -255,6 +292,9 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('store')->andReturn($bill); $attachHelper->shouldReceive('saveAttachmentsForModel'); @@ -289,7 +329,10 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); - $bill = $this->user()->bills()->first(); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $bill = $this->user()->bills()->first(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('store')->andReturn($bill); $attachHelper->shouldReceive('saveAttachmentsForModel'); @@ -325,6 +368,9 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('store')->andReturn(null); @@ -357,6 +403,9 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('store')->andReturn(new Bill); $attachHelper->shouldReceive('saveAttachmentsForModel'); @@ -392,6 +441,9 @@ class BillControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BillRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('update')->andReturn(new Bill); $attachHelper->shouldReceive('saveAttachmentsForModel'); diff --git a/tests/Feature/Controllers/Budget/AmountControllerTest.php b/tests/Feature/Controllers/Budget/AmountControllerTest.php index e652504a66..733423d6f9 100644 --- a/tests/Feature/Controllers/Budget/AmountControllerTest.php +++ b/tests/Feature/Controllers/Budget/AmountControllerTest.php @@ -48,7 +48,7 @@ class AmountControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Budget/CreateControllerTest.php b/tests/Feature/Controllers/Budget/CreateControllerTest.php index 0b392a45b1..14bae5caee 100644 --- a/tests/Feature/Controllers/Budget/CreateControllerTest.php +++ b/tests/Feature/Controllers/Budget/CreateControllerTest.php @@ -28,7 +28,9 @@ use FireflyIII\Models\Budget; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -43,7 +45,7 @@ class CreateControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -56,6 +58,9 @@ class CreateControllerTest extends TestCase // mock stuff $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -76,6 +81,8 @@ class CreateControllerTest extends TestCase $budget = factory(Budget::class)->make(); $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->andReturn($budget); $repository->shouldReceive('store')->andReturn($budget); diff --git a/tests/Feature/Controllers/Budget/DeleteControllerTest.php b/tests/Feature/Controllers/Budget/DeleteControllerTest.php index 6cc8436f0f..61d480e978 100644 --- a/tests/Feature/Controllers/Budget/DeleteControllerTest.php +++ b/tests/Feature/Controllers/Budget/DeleteControllerTest.php @@ -26,7 +26,9 @@ namespace Tests\Feature\Controllers\Budget; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -41,7 +43,7 @@ class DeleteControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -54,6 +56,9 @@ class DeleteControllerTest extends TestCase // mock stuff $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -72,6 +77,8 @@ class DeleteControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('destroy')->andReturn(true); diff --git a/tests/Feature/Controllers/Budget/EditControllerTest.php b/tests/Feature/Controllers/Budget/EditControllerTest.php index 55ac0e8cb6..48395d38a1 100644 --- a/tests/Feature/Controllers/Budget/EditControllerTest.php +++ b/tests/Feature/Controllers/Budget/EditControllerTest.php @@ -27,7 +27,9 @@ use FireflyIII\Models\Budget; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -42,7 +44,7 @@ class EditControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -55,6 +57,9 @@ class EditControllerTest extends TestCase // mock stuff $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -75,6 +80,8 @@ class EditControllerTest extends TestCase $budget = factory(Budget::class)->make(); $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->andReturn($budget); $repository->shouldReceive('update'); diff --git a/tests/Feature/Controllers/Budget/IndexControllerTest.php b/tests/Feature/Controllers/Budget/IndexControllerTest.php index e5cb82a19e..8c7fc6db9f 100644 --- a/tests/Feature/Controllers/Budget/IndexControllerTest.php +++ b/tests/Feature/Controllers/Budget/IndexControllerTest.php @@ -30,8 +30,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -46,7 +48,7 @@ class IndexControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -57,6 +59,8 @@ class IndexControllerTest extends TestCase */ public function testIndex(string $range): void { + + Log::debug(sprintf('Now in testIndex(%s)', $range)); // mock stuff $budget = factory(Budget::class)->make(); @@ -76,6 +80,9 @@ class IndexControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); @@ -122,6 +129,9 @@ class IndexControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); @@ -170,6 +180,9 @@ class IndexControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); @@ -216,6 +229,8 @@ class IndexControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); diff --git a/tests/Feature/Controllers/Budget/ShowControllerTest.php b/tests/Feature/Controllers/Budget/ShowControllerTest.php index 73ef7f5b72..c02c2154b4 100644 --- a/tests/Feature/Controllers/Budget/ShowControllerTest.php +++ b/tests/Feature/Controllers/Budget/ShowControllerTest.php @@ -30,9 +30,11 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -47,7 +49,7 @@ class ShowControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -66,8 +68,10 @@ class ShowControllerTest extends TestCase $repository = $this->mock(BudgetRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('firstNull')->andReturn(null); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->andReturn(null); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); $collector->shouldReceive('getTransactions')->andReturn(new Collection); @@ -102,8 +106,10 @@ class ShowControllerTest extends TestCase $repository = $this->mock(BudgetRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('firstNull')->andReturn(null); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->andReturn(null); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); $collector->shouldReceive('setLimit')->andReturnSelf(); @@ -139,6 +145,9 @@ class ShowControllerTest extends TestCase $repository = $this->mock(BudgetRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->andReturn(null); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); @@ -177,9 +186,15 @@ class ShowControllerTest extends TestCase $budgetLimit = factory(BudgetLimit::class)->make(); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $collector = $this->mock(TransactionCollectorInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $repository = $this->mock(BudgetRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); - $collector = $this->mock(TransactionCollectorInterface::class); + $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); $collector->shouldReceive('setLimit')->andReturnSelf(); @@ -188,10 +203,10 @@ class ShowControllerTest extends TestCase $collector->shouldReceive('getPaginatedTransactions')->andReturn(new LengthAwarePaginator([], 0, 10)); $collector->shouldReceive('withBudgetInformation')->andReturnSelf(); - $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); - $repository = $this->mock(BudgetRepositoryInterface::class); + $repository->shouldReceive('getBudgetLimits')->andReturn(new Collection([$budgetLimit])); $repository->shouldReceive('spentInPeriod')->andReturn('-1'); @@ -208,7 +223,6 @@ class ShowControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Budget\ShowController - * @expectedExceptionMessage This budget limit is not part of */ public function testShowByBadBudgetLimit(): void { @@ -216,6 +230,8 @@ class ShowControllerTest extends TestCase // mock stuff $repository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -233,20 +249,17 @@ class ShowControllerTest extends TestCase { Log::debug(sprintf('Now in testShowByBudgetLimit(%s)', $range)); // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); - - // mock account repository + $journalRepos = $this->mock(JournalRepositoryInterface::class); $accountRepository = $this->mock(AccountRepositoryInterface::class); - $accountRepository->shouldReceive('getAccountsByType')->andReturn(new Collection); + $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $collector = $this->mock(TransactionCollectorInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); - // mock budget repository - $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $accountRepository->shouldReceive('getAccountsByType')->andReturn(new Collection); $budgetRepository->shouldReceive('spentInPeriod')->andReturn('1'); $budgetRepository->shouldReceive('getBudgetLimits')->andReturn(new Collection); - - // mock journal collector: - $collector = $this->mock(TransactionCollectorInterface::class); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); $collector->shouldReceive('setLimit')->andReturnSelf(); diff --git a/tests/Feature/Controllers/Category/NoCategoryControllerTest.php b/tests/Feature/Controllers/Category/NoCategoryControllerTest.php index 8d138cf3c3..d50c01eea5 100644 --- a/tests/Feature/Controllers/Category/NoCategoryControllerTest.php +++ b/tests/Feature/Controllers/Category/NoCategoryControllerTest.php @@ -31,9 +31,11 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; use Log; +use Mockery; use Navigation; use Tests\TestCase; @@ -49,7 +51,7 @@ class NoCategoryControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -61,17 +63,18 @@ class NoCategoryControllerTest extends TestCase */ public function testNoCategory(string $range): void { - Log::debug(sprintf('Test noCategory(%s)', $range)); // mock stuff $collector = $this->mock(TransactionCollectorInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // get the journal with the most recent date for firstNull: $journal = $this->user()->transactionJournals()->orderBy('date', 'DESC')->first(); $journalRepos->shouldReceive('firstNull')->twice()->andReturn($journal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setTypes')->andReturnSelf(); @@ -108,7 +111,9 @@ class NoCategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->twice()->andReturn(TransactionJournal::first()); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setTypes')->andReturnSelf(); @@ -144,7 +149,10 @@ class NoCategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->twice()->andReturn(TransactionJournal::first()); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setTypes')->andReturnSelf(); diff --git a/tests/Feature/Controllers/Category/ShowControllerTest.php b/tests/Feature/Controllers/Category/ShowControllerTest.php index b56e8c745a..3e2f2f1770 100644 --- a/tests/Feature/Controllers/Category/ShowControllerTest.php +++ b/tests/Feature/Controllers/Category/ShowControllerTest.php @@ -32,9 +32,11 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; use Log; +use Mockery; use Navigation; use Tests\TestCase; @@ -50,7 +52,7 @@ class ShowControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -67,6 +69,11 @@ class ShowControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $journalRepos->shouldReceive('firstNull')->twice()->andReturn(TransactionJournal::first()); // mock stuff @@ -119,6 +126,9 @@ class ShowControllerTest extends TestCase $repository = $this->mock(CategoryRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $collector->shouldReceive('setPage')->andReturnSelf()->once(); $collector->shouldReceive('setLimit')->andReturnSelf()->once(); @@ -157,7 +167,11 @@ class ShowControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); - $month = new Carbon(); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $month = new Carbon(); $month->startOfMonth(); $journal = TransactionJournal::where('date', '>=', $month->format('Y-m-d') . ' 00:00:00')->first(); $journalRepos->shouldReceive('firstNull')->twice()->andReturn($journal); @@ -201,19 +215,20 @@ class ShowControllerTest extends TestCase $latestJournal = $this->user()->transactionJournals() ->orderBy('date', 'DESC')->first(); - Log::debug(sprintf('Test testShowEmpty(%s)', $range)); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(CategoryRepositoryInterface::class); + $collector = $this->mock(TransactionCollectorInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->twice()->andReturn($latestJournal); // mock stuff - $repository = $this->mock(CategoryRepositoryInterface::class); $repository->shouldReceive('spentInPeriod')->andReturn('0'); $repository->shouldReceive('earnedInPeriod')->andReturn('0'); - $accountRepos = $this->mock(AccountRepositoryInterface::class); $accountRepos->shouldReceive('getAccountsByType')->once()->andReturn(new Collection); - - $collector = $this->mock(TransactionCollectorInterface::class); $collector->shouldReceive('setPage')->andReturnSelf()->once(); $collector->shouldReceive('setLimit')->andReturnSelf()->once(); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->atLeast(1); @@ -225,7 +240,6 @@ class ShowControllerTest extends TestCase $collector->shouldReceive('setCategory')->andReturnSelf()->atLeast(1); $collector->shouldReceive('setTypes')->andReturnSelf()->atLeast(1); $collector->shouldReceive('getTransactions')->andReturn(new Collection)->atLeast(1); - $collector->shouldReceive('getPaginatedTransactions')->andReturn(new LengthAwarePaginator([], 0, 10))->atLeast(1); $this->be($this->user()); diff --git a/tests/Feature/Controllers/CategoryControllerTest.php b/tests/Feature/Controllers/CategoryControllerTest.php index d187148674..489474e777 100644 --- a/tests/Feature/Controllers/CategoryControllerTest.php +++ b/tests/Feature/Controllers/CategoryControllerTest.php @@ -28,8 +28,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -47,7 +49,7 @@ class CategoryControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -60,7 +62,10 @@ class CategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('categories.create')); @@ -79,7 +84,10 @@ class CategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('categories.delete', [1])); @@ -98,8 +106,9 @@ class CategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); $categoryRepos->shouldReceive('destroy')->andReturn(true); $this->session(['categories.delete.uri' => 'http://localhost']); @@ -119,7 +128,10 @@ class CategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('categories.edit', [1])); @@ -139,9 +151,12 @@ class CategoryControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); $categoryRepos->shouldReceive('getCategories')->andReturn(new Collection([$category]))->once(); $categoryRepos->shouldReceive('lastUseDate')->andReturn(new Carbon)->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('categories.index')); @@ -160,6 +175,8 @@ class CategoryControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(CategoryRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); $repository->shouldReceive('findNull')->andReturn(new Category); $repository->shouldReceive('store')->andReturn(new Category); @@ -186,6 +203,8 @@ class CategoryControllerTest extends TestCase $repository = $this->mock(CategoryRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(TransactionJournal::first()); $repository->shouldReceive('update'); $repository->shouldReceive('findNull')->andReturn($category); diff --git a/tests/Feature/Controllers/Chart/AccountControllerTest.php b/tests/Feature/Controllers/Chart/AccountControllerTest.php index 90d1048b98..85646105b0 100644 --- a/tests/Feature/Controllers/Chart/AccountControllerTest.php +++ b/tests/Feature/Controllers/Chart/AccountControllerTest.php @@ -37,6 +37,7 @@ use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Preferences; use Steam; use Tests\TestCase; @@ -52,7 +53,7 @@ class AccountControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -67,6 +68,7 @@ class AccountControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + // grab two expense accounts from the current user. $accounts = $this->user()->accounts()->where('account_type_id', 4)->take(2)->get(); @@ -103,9 +105,12 @@ class AccountControllerTest extends TestCase */ public function testExpenseBudget(string $range): void { - $generator = $this->mock(GeneratorInterface::class); - $collector = $this->mock(TransactionCollectorInterface::class); - $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $generator = $this->mock(GeneratorInterface::class); + $collector = $this->mock(TransactionCollectorInterface::class); + $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $transaction = factory(Transaction::class)->make(); $collector->shouldReceive('setAccounts')->andReturnSelf(); @@ -134,6 +139,7 @@ class AccountControllerTest extends TestCase $collector = $this->mock(TransactionCollectorInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $transaction = factory(Transaction::class)->make(); $collector->shouldReceive('setAccounts')->andReturnSelf(); @@ -164,6 +170,9 @@ class AccountControllerTest extends TestCase $generator = $this->mock(GeneratorInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $collector->shouldReceive('setAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); @@ -193,6 +202,8 @@ class AccountControllerTest extends TestCase $collector = $this->mock(TransactionCollectorInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $collector->shouldReceive('setAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); @@ -249,6 +260,9 @@ class AccountControllerTest extends TestCase $generator = $this->mock(GeneratorInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $collector->shouldReceive('setAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); @@ -278,6 +292,7 @@ class AccountControllerTest extends TestCase $collector = $this->mock(TransactionCollectorInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $collector->shouldReceive('setAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); @@ -304,6 +319,7 @@ class AccountControllerTest extends TestCase { $generator = $this->mock(GeneratorInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $accountRepos->shouldReceive('oldestJournalDate')->andReturn(new Carbon); Steam::shouldReceive('balanceInRange')->andReturn(['2012-01-01' => '0']); @@ -321,8 +337,14 @@ class AccountControllerTest extends TestCase public function testReport(): void { $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); - $currencyRepos->shouldReceive('findNull')->andReturn(TransactionCurrency::find(1), null); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $generator = $this->mock(GeneratorInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(),'currency_id'])->andReturn('1')->atLeast()->once(); + + $currencyRepos->shouldReceive('findNull')->andReturn(TransactionCurrency::find(1), null); + $generator->shouldReceive('multiSet')->andReturn([]); Steam::shouldReceive('balanceInRange')->andReturn(['2012-01-01' => '0']); diff --git a/tests/Feature/Controllers/Chart/BillControllerTest.php b/tests/Feature/Controllers/Chart/BillControllerTest.php index 918d949843..b5f5d6073f 100644 --- a/tests/Feature/Controllers/Chart/BillControllerTest.php +++ b/tests/Feature/Controllers/Chart/BillControllerTest.php @@ -43,7 +43,7 @@ class BillControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Chart/BudgetControllerTest.php b/tests/Feature/Controllers/Chart/BudgetControllerTest.php index c049a3f990..3511143252 100644 --- a/tests/Feature/Controllers/Chart/BudgetControllerTest.php +++ b/tests/Feature/Controllers/Chart/BudgetControllerTest.php @@ -49,7 +49,7 @@ class BudgetControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -95,7 +95,6 @@ class BudgetControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Chart\BudgetController - * @expectedExceptionMessage This budget limit is not part of this budget. */ public function testBudgetLimitWrongLimit(): void { diff --git a/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php b/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php index 62dd0dbe31..450f2fa661 100644 --- a/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php +++ b/tests/Feature/Controllers/Chart/BudgetReportControllerTest.php @@ -48,7 +48,7 @@ class BudgetReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Chart/CategoryControllerTest.php b/tests/Feature/Controllers/Chart/CategoryControllerTest.php index f15c33c92f..339ebeea69 100644 --- a/tests/Feature/Controllers/Chart/CategoryControllerTest.php +++ b/tests/Feature/Controllers/Chart/CategoryControllerTest.php @@ -45,7 +45,7 @@ class CategoryControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Chart/CategoryReportControllerTest.php b/tests/Feature/Controllers/Chart/CategoryReportControllerTest.php index 0d1c8665d2..5f69146375 100644 --- a/tests/Feature/Controllers/Chart/CategoryReportControllerTest.php +++ b/tests/Feature/Controllers/Chart/CategoryReportControllerTest.php @@ -45,7 +45,7 @@ class CategoryReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Chart/ExpenseReportControllerTest.php b/tests/Feature/Controllers/Chart/ExpenseReportControllerTest.php index 9450875577..dd7506f4c8 100644 --- a/tests/Feature/Controllers/Chart/ExpenseReportControllerTest.php +++ b/tests/Feature/Controllers/Chart/ExpenseReportControllerTest.php @@ -42,7 +42,7 @@ class ExpenseReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/Chart/PiggyBankControllerTest.php b/tests/Feature/Controllers/Chart/PiggyBankControllerTest.php index 2eff8eeb62..96deea0b5d 100644 --- a/tests/Feature/Controllers/Chart/PiggyBankControllerTest.php +++ b/tests/Feature/Controllers/Chart/PiggyBankControllerTest.php @@ -40,7 +40,7 @@ class PiggyBankControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Chart/ReportControllerTest.php b/tests/Feature/Controllers/Chart/ReportControllerTest.php index ce432479b4..a43e63b8dc 100644 --- a/tests/Feature/Controllers/Chart/ReportControllerTest.php +++ b/tests/Feature/Controllers/Chart/ReportControllerTest.php @@ -23,8 +23,10 @@ declare(strict_types=1); namespace Tests\Feature\Controllers\Chart; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; +use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Account\AccountTaskerInterface; +use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use Log; use Mockery; use Steam; @@ -41,7 +43,7 @@ class ReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -51,6 +53,10 @@ class ReportControllerTest extends TestCase { $generator = $this->mock(GeneratorInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $currencyRepos->shouldReceive('setUser'); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); // mock calls: $accountRepos->shouldReceive('setUser'); @@ -78,6 +84,8 @@ class ReportControllerTest extends TestCase { $generator = $this->mock(GeneratorInterface::class); $tasker = $this->mock(AccountTaskerInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $income = [1 => ['sum' => '100']]; $expense = [2 => ['sum' => '-100']]; $tasker->shouldReceive('getIncomeReport')->once()->andReturn($income); @@ -96,6 +104,8 @@ class ReportControllerTest extends TestCase { $generator = $this->mock(GeneratorInterface::class); $tasker = $this->mock(AccountTaskerInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $income = []; $expense = []; diff --git a/tests/Feature/Controllers/Chart/TagReportControllerTest.php b/tests/Feature/Controllers/Chart/TagReportControllerTest.php index e576963ec7..4ec22382b1 100644 --- a/tests/Feature/Controllers/Chart/TagReportControllerTest.php +++ b/tests/Feature/Controllers/Chart/TagReportControllerTest.php @@ -49,7 +49,7 @@ class TagReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/CurrencyControllerTest.php b/tests/Feature/Controllers/CurrencyControllerTest.php index 0011b0885a..6398095951 100644 --- a/tests/Feature/Controllers/CurrencyControllerTest.php +++ b/tests/Feature/Controllers/CurrencyControllerTest.php @@ -48,7 +48,7 @@ class CurrencyControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/DebugControllerTest.php b/tests/Feature/Controllers/DebugControllerTest.php index 97b8c54921..a40adab24b 100644 --- a/tests/Feature/Controllers/DebugControllerTest.php +++ b/tests/Feature/Controllers/DebugControllerTest.php @@ -24,7 +24,9 @@ namespace Tests\Feature\Controllers; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -42,7 +44,7 @@ class DebugControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -52,11 +54,14 @@ class DebugControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $this->be($this->user()); $response = $this->get(route('error')); $response->assertStatus(500); + $response->assertSee('A very simple test error'); } /** @@ -66,7 +71,10 @@ class DebugControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $this->be($this->user()); $response = $this->get(route('flush')); @@ -78,6 +86,9 @@ class DebugControllerTest extends TestCase */ public function testIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $this->be($this->user()); $response = $this->get(route('debug')); $response->assertStatus(200); @@ -88,6 +99,9 @@ class DebugControllerTest extends TestCase */ public function testRoutes(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $this->be($this->user()); $response = $this->get(route('routes')); $response->assertStatus(200); @@ -100,6 +114,9 @@ class DebugControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); diff --git a/tests/Feature/Controllers/ExportControllerTest.php b/tests/Feature/Controllers/ExportControllerTest.php index 811edad167..862fa95e6c 100644 --- a/tests/Feature/Controllers/ExportControllerTest.php +++ b/tests/Feature/Controllers/ExportControllerTest.php @@ -30,8 +30,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -49,7 +51,7 @@ class ExportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -60,6 +62,9 @@ class ExportControllerTest extends TestCase // mock stuff $repository = $this->mock(ExportJobRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('changeStatus')->once(); @@ -74,16 +79,16 @@ class ExportControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\ExportController - * @expectedExceptionMessage Against all expectations */ public function testDownloadFailed(): void { // mock stuff $repository = $this->mock(ExportJobRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos = $this->mock(UserRepositoryInterface::class); - $repository->shouldReceive('exists')->once()->andReturn(false); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); $response = $this->get(route('export.download', ['testExport'])); @@ -97,6 +102,10 @@ class ExportControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -114,6 +123,11 @@ class ExportControllerTest extends TestCase $repository = $this->mock(ExportJobRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $job = ExportJob::first(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('create')->andReturn($job); @@ -139,7 +153,10 @@ class ExportControllerTest extends TestCase $processor = $this->mock(ProcessorInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $this->session( ['first' => new Carbon('2014-01-01')] diff --git a/tests/Feature/Controllers/HelpControllerTest.php b/tests/Feature/Controllers/HelpControllerTest.php index 0647a4963c..10e7ff049c 100644 --- a/tests/Feature/Controllers/HelpControllerTest.php +++ b/tests/Feature/Controllers/HelpControllerTest.php @@ -42,7 +42,7 @@ class HelpControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/HomeControllerTest.php b/tests/Feature/Controllers/HomeControllerTest.php index 3eae28dda3..8ddd5fe4a5 100644 --- a/tests/Feature/Controllers/HomeControllerTest.php +++ b/tests/Feature/Controllers/HomeControllerTest.php @@ -31,6 +31,7 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Bill\BillRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; use Mockery; @@ -51,7 +52,7 @@ class HomeControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -62,6 +63,8 @@ class HomeControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -83,6 +86,8 @@ class HomeControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -115,6 +120,10 @@ class HomeControllerTest extends TestCase $billRepos = $this->mock(BillRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('count')->andReturn(1); $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1'); @@ -148,6 +157,8 @@ class HomeControllerTest extends TestCase // mock stuff $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('count')->andReturn(0); diff --git a/tests/Feature/Controllers/Import/CallbackControllerTest.php b/tests/Feature/Controllers/Import/CallbackControllerTest.php index 5ef759b7bb..4149135c7c 100644 --- a/tests/Feature/Controllers/Import/CallbackControllerTest.php +++ b/tests/Feature/Controllers/Import/CallbackControllerTest.php @@ -42,7 +42,7 @@ class CallbackControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Import/IndexControllerTest.php b/tests/Feature/Controllers/Import/IndexControllerTest.php index d73fda83a6..8fc7b5fce7 100644 --- a/tests/Feature/Controllers/Import/IndexControllerTest.php +++ b/tests/Feature/Controllers/Import/IndexControllerTest.php @@ -49,7 +49,7 @@ class IndexControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -323,6 +323,7 @@ class IndexControllerTest extends TestCase $spectrePrerequisites = $this->mock(SpectrePrerequisites::class); $filePrerequisites = $this->mock(FilePrerequisites::class); $ynabPrerequisites = $this->mock(YnabPrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); // call methods: $userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false); @@ -357,6 +358,7 @@ class IndexControllerTest extends TestCase $filePrerequisites = $this->mock(FilePrerequisites::class); $userRepository = $this->mock(UserRepositoryInterface::class); $ynabPrerequisites = $this->mock(YnabPrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); // call methods: $fakePrerequisites->shouldReceive('setUser')->once(); diff --git a/tests/Feature/Controllers/Import/JobConfigurationControllerTest.php b/tests/Feature/Controllers/Import/JobConfigurationControllerTest.php index 5d70ab1f15..8e0f2d2016 100644 --- a/tests/Feature/Controllers/Import/JobConfigurationControllerTest.php +++ b/tests/Feature/Controllers/Import/JobConfigurationControllerTest.php @@ -26,6 +26,7 @@ namespace Tests\Feature\Controllers\Import; use FireflyIII\Import\JobConfiguration\FakeJobConfiguration; use FireflyIII\Models\ImportJob; use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Http\UploadedFile; use Illuminate\Support\MessageBag; use Log; @@ -43,7 +44,7 @@ class JobConfigurationControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -62,6 +63,9 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); // mock calls: $configurator->shouldReceive('setImportJob')->once(); @@ -94,8 +98,10 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + - // mock calls: $this->be($this->user()); $response = $this->get(route('import.job.configuration.index', [$job->key])); @@ -120,6 +126,7 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $configurator->shouldReceive('setImportJob')->once(); @@ -152,6 +159,7 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $configurator->shouldReceive('setImportJob')->once(); @@ -186,6 +194,7 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // call thing. $this->be($this->user()); @@ -212,6 +221,8 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + // mock calls: $configurator->shouldReceive('setImportJob')->once(); @@ -245,6 +256,7 @@ class JobConfigurationControllerTest extends TestCase // mock repositories and configuration handling classes: $repository = $this->mock(ImportJobRepositoryInterface::class); $configurator = $this->mock(FakeJobConfiguration::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $configurator->shouldReceive('setImportJob')->once(); diff --git a/tests/Feature/Controllers/Import/JobStatusControllerTest.php b/tests/Feature/Controllers/Import/JobStatusControllerTest.php index ffc6a9597b..07ae4f8a0f 100644 --- a/tests/Feature/Controllers/Import/JobStatusControllerTest.php +++ b/tests/Feature/Controllers/Import/JobStatusControllerTest.php @@ -29,6 +29,7 @@ use FireflyIII\Import\Storage\ImportArrayStorage; use FireflyIII\Models\ImportJob; use FireflyIII\Models\Tag; use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; use Mockery; use Tests\TestCase; @@ -48,7 +49,7 @@ class JobStatusControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -56,6 +57,8 @@ class JobStatusControllerTest extends TestCase */ public function testIndex(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Afake_job_' . random_int(1, 10000); @@ -64,6 +67,8 @@ class JobStatusControllerTest extends TestCase $job->file_type = ''; $job->save(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + // call thing. $this->be($this->user()); $response = $this->get(route('import.job.status.index', [$job->key])); @@ -76,6 +81,9 @@ class JobStatusControllerTest extends TestCase */ public function testJson(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Bfake_job_' . random_int(1, 10000); @@ -99,6 +107,8 @@ class JobStatusControllerTest extends TestCase */ public function testJsonWithTag(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $tag = $this->user()->tags()->first(); $job = new ImportJob; $job->user_id = $this->user()->id; @@ -124,6 +134,9 @@ class JobStatusControllerTest extends TestCase */ public function testJsonWithTagManyJournals(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + /** @var Tag $tag */ $tag = $this->user()->tags()->first(); $journal = $this->user()->transactionJournals()->first(); @@ -154,6 +167,9 @@ class JobStatusControllerTest extends TestCase */ public function testJsonWithTagOneJournal(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + /** @var Tag $tag */ $tag = $this->user()->tags()->first(); $journal = $this->user()->transactionJournals()->first(); @@ -183,6 +199,8 @@ class JobStatusControllerTest extends TestCase */ public function testStart(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Ffake_job_' . random_int(1, 10000); @@ -212,6 +230,8 @@ class JobStatusControllerTest extends TestCase */ public function testStartException(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Gfake_job_' . random_int(1, 10000); @@ -242,6 +262,7 @@ class JobStatusControllerTest extends TestCase */ public function testStartFireflyException(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Hfake_job_' . random_int(1, 10000); @@ -272,6 +293,12 @@ class JobStatusControllerTest extends TestCase */ public function testStartInvalidState(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + // mock calls: + $importRepos->shouldReceive('setStatus')->withArgs([Mockery::any(), 'error']) + ->atLeast()->once(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Ifake_job_' . random_int(1, 10000); @@ -285,7 +312,7 @@ class JobStatusControllerTest extends TestCase $this->be($this->user()); $response = $this->post(route('import.job.start', [$job->key])); $response->assertStatus(200); - $response->assertExactJson(['status' => 'NOK', 'message' => 'JobStatusController::start expects status "ready_to_run" instead of "error".']); + $response->assertExactJson(['status' => 'NOK', 'message' => 'JobStatusController::start expects status "ready_to_run" instead of "bad_state".']); } /** @@ -305,6 +332,7 @@ class JobStatusControllerTest extends TestCase // mock stuff $repository = $this->mock(ImportJobRepositoryInterface::class); $storage = $this->mock(ImportArrayStorage::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'storing_data']); @@ -336,6 +364,7 @@ class JobStatusControllerTest extends TestCase // mock stuff $repository = $this->mock(ImportJobRepositoryInterface::class); $storage = $this->mock(ImportArrayStorage::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // mock calls: $repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'storing_data']); @@ -355,6 +384,7 @@ class JobStatusControllerTest extends TestCase */ public function testStoreInvalidState(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'Kfake_job_' . random_int(1, 10000); diff --git a/tests/Feature/Controllers/Import/PrerequisitesControllerTest.php b/tests/Feature/Controllers/Import/PrerequisitesControllerTest.php index 0956aea398..4fff9f23cd 100644 --- a/tests/Feature/Controllers/Import/PrerequisitesControllerTest.php +++ b/tests/Feature/Controllers/Import/PrerequisitesControllerTest.php @@ -25,6 +25,7 @@ namespace Tests\Feature\Controllers\Import; use FireflyIII\Import\Prerequisites\FakePrerequisites; use FireflyIII\Models\ImportJob; use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\MessageBag; use Log; use Mockery; @@ -45,7 +46,7 @@ class PrerequisitesControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -53,6 +54,10 @@ class PrerequisitesControllerTest extends TestCase */ public function testIndex(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $prereq = $this->mock(FakePrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'A_pre_job_' . random_int(1, 10000); @@ -62,9 +67,9 @@ class PrerequisitesControllerTest extends TestCase $job->file_type = ''; $job->save(); - // mock stuff - $prereq = $this->mock(FakePrerequisites::class); - $repository = $this->mock(ImportJobRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $prereq->shouldReceive('setUser')->times(2); $prereq->shouldReceive('isComplete')->times(2)->andReturn(false); @@ -83,6 +88,9 @@ class PrerequisitesControllerTest extends TestCase */ public function testIndexBadState(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'B_pre_job_' . random_int(1, 10000); @@ -92,6 +100,10 @@ class PrerequisitesControllerTest extends TestCase $job->file_type = ''; $job->save(); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + + $this->be($this->user()); $response = $this->get(route('import.prerequisites.index', ['fake', $job->key])); $response->assertStatus(302); @@ -103,6 +115,10 @@ class PrerequisitesControllerTest extends TestCase */ public function testIndexComplete(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $prereq = $this->mock(FakePrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'C_pre_job_' . random_int(1, 10000); @@ -112,10 +128,7 @@ class PrerequisitesControllerTest extends TestCase $job->file_type = ''; $job->save(); - // mock stuff - $prereq = $this->mock(FakePrerequisites::class); - $repository = $this->mock(ImportJobRepositoryInterface::class); - + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'has_prereq']); $prereq->shouldReceive('setUser')->times(2); $prereq->shouldReceive('isComplete')->times(2)->andReturn(true); @@ -134,6 +147,10 @@ class PrerequisitesControllerTest extends TestCase */ public function testPost(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $prereq = $this->mock(FakePrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'D_pre_job_' . random_int(1, 10000); @@ -143,10 +160,7 @@ class PrerequisitesControllerTest extends TestCase $job->file_type = ''; $job->save(); - // mock stuff - $prereq = $this->mock(FakePrerequisites::class); - $repository = $this->mock(ImportJobRepositoryInterface::class); - + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $prereq->shouldReceive('setUser')->times(2); $prereq->shouldReceive('storePrerequisites')->once()->andReturn(new MessageBag); $repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'has_prereq']); @@ -165,6 +179,10 @@ class PrerequisitesControllerTest extends TestCase */ public function testPostBadState(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $prereq = $this->mock(FakePrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'D_pre_job_' . random_int(1, 10000); @@ -174,10 +192,7 @@ class PrerequisitesControllerTest extends TestCase $job->file_type = ''; $job->save(); - // mock stuff - $prereq = $this->mock(FakePrerequisites::class); - $repository = $this->mock(ImportJobRepositoryInterface::class); - + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $prereq->shouldReceive('setUser')->times(1); $prereq->shouldReceive('isComplete')->times(1)->andReturn(false); @@ -195,10 +210,12 @@ class PrerequisitesControllerTest extends TestCase */ public function testPostNoJob(): void { - // mock stuff + $userRepos = $this->mock(UserRepositoryInterface::class); $prereq = $this->mock(FakePrerequisites::class); $repository = $this->mock(ImportJobRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $prereq->shouldReceive('setUser')->once(); $prereq->shouldReceive('storePrerequisites')->once()->andReturn(new MessageBag); @@ -218,6 +235,10 @@ class PrerequisitesControllerTest extends TestCase */ public function testPostWithMessages(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $prereq = $this->mock(FakePrerequisites::class); + $repository = $this->mock(ImportJobRepositoryInterface::class); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'D_pre_job_' . random_int(1, 10000); @@ -229,10 +250,7 @@ class PrerequisitesControllerTest extends TestCase $messages = new MessageBag; $messages->add('some', 'message'); - - // mock stuff - $prereq = $this->mock(FakePrerequisites::class); - $repository = $this->mock(ImportJobRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); $prereq->shouldReceive('setUser')->times(1); $prereq->shouldReceive('isComplete')->times(1)->andReturn(false); diff --git a/tests/Feature/Controllers/JavascriptControllerTest.php b/tests/Feature/Controllers/JavascriptControllerTest.php index cc7eace7b1..d9477845f9 100644 --- a/tests/Feature/Controllers/JavascriptControllerTest.php +++ b/tests/Feature/Controllers/JavascriptControllerTest.php @@ -48,7 +48,7 @@ class JavascriptControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/Json/AutoCompleteControllerTest.php b/tests/Feature/Controllers/Json/AutoCompleteControllerTest.php index d20a3bb54b..727e662f8c 100644 --- a/tests/Feature/Controllers/Json/AutoCompleteControllerTest.php +++ b/tests/Feature/Controllers/Json/AutoCompleteControllerTest.php @@ -55,7 +55,7 @@ class AutoCompleteControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Json/BoxControllerTest.php b/tests/Feature/Controllers/Json/BoxControllerTest.php index 65961f4f07..63e7e07643 100644 --- a/tests/Feature/Controllers/Json/BoxControllerTest.php +++ b/tests/Feature/Controllers/Json/BoxControllerTest.php @@ -47,7 +47,7 @@ class BoxControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -61,6 +61,8 @@ class BoxControllerTest extends TestCase ], ]; $repository = $this->mock(BudgetRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $repository->shouldReceive('getAvailableBudget')->andReturn('1000'); $repository->shouldReceive('getActiveBudgets')->andReturn(new Collection); $repository->shouldReceive('collectBudgetInformation')->andReturn($return); @@ -82,6 +84,8 @@ class BoxControllerTest extends TestCase ], ]; $repository = $this->mock(BudgetRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $repository->shouldReceive('getAvailableBudget')->andReturn('1000'); $repository->shouldReceive('getActiveBudgets')->andReturn(new Collection); $repository->shouldReceive('collectBudgetInformation')->andReturn($return); @@ -99,6 +103,8 @@ class BoxControllerTest extends TestCase { $accountRepos = $this->mock(AccountRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + // try a collector for income: @@ -124,6 +130,10 @@ class BoxControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + // try a collector for income: $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); @@ -143,6 +153,8 @@ class BoxControllerTest extends TestCase public function testBills(): void { $billRepos = $this->mock(BillRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $billRepos->shouldReceive('getBillsPaidInRange')->andReturn('0'); $billRepos->shouldReceive('getBillsUnpaidInRange')->andReturn('0'); @@ -165,6 +177,7 @@ class BoxControllerTest extends TestCase $netWorthHelper = $this->mock(NetWorthInterface::class); + $netWorthHelper->shouldReceive('setUser')->once(); $netWorthHelper->shouldReceive('getNetWorthByCurrency')->once()->andReturn($result); diff --git a/tests/Feature/Controllers/Json/ExchangeControllerTest.php b/tests/Feature/Controllers/Json/ExchangeControllerTest.php index a3aa4a4da7..dd41332e8d 100644 --- a/tests/Feature/Controllers/Json/ExchangeControllerTest.php +++ b/tests/Feature/Controllers/Json/ExchangeControllerTest.php @@ -43,7 +43,7 @@ class ExchangeControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Json/FrontpageControllerTest.php b/tests/Feature/Controllers/Json/FrontpageControllerTest.php index 88c95fac14..e052ba7c3f 100644 --- a/tests/Feature/Controllers/Json/FrontpageControllerTest.php +++ b/tests/Feature/Controllers/Json/FrontpageControllerTest.php @@ -42,7 +42,7 @@ class FrontpageControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Json/IntroControllerTest.php b/tests/Feature/Controllers/Json/IntroControllerTest.php index 95898309af..228dbd40b8 100644 --- a/tests/Feature/Controllers/Json/IntroControllerTest.php +++ b/tests/Feature/Controllers/Json/IntroControllerTest.php @@ -40,7 +40,7 @@ class IntroControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Json/ReconcileControllerTest.php b/tests/Feature/Controllers/Json/ReconcileControllerTest.php index 7e24f87377..e8dca4ece0 100644 --- a/tests/Feature/Controllers/Json/ReconcileControllerTest.php +++ b/tests/Feature/Controllers/Json/ReconcileControllerTest.php @@ -27,9 +27,12 @@ namespace Tests\Feature\Controllers\Json; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionJournal; +use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -44,7 +47,7 @@ class ReconcileControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -54,6 +57,9 @@ class ReconcileControllerTest extends TestCase */ public function testOverview(): void { + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); $transactions = $this->user()->transactions()->inRandomOrder()->take(3)->get(); $repository = $this->mock(JournalRepositoryInterface::class); $repository->shouldReceive('firstNull')->andReturn(new TransactionJournal); @@ -74,10 +80,13 @@ class ReconcileControllerTest extends TestCase * Test overview when it's not an asset. * * @covers \FireflyIII\Http\Controllers\Json\ReconcileController - * @expectedExceptionMessage is not an asset account */ public function testOverviewNotAsset(): void { + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + $account = $this->user()->accounts()->where('account_type_id', '!=', 3)->first(); $parameters = [ 'startBalance' => '0', @@ -99,6 +108,11 @@ class ReconcileControllerTest extends TestCase public function testTransactions(): void { $repository = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $repository->shouldReceive('findNull')->once()->andReturn(TransactionCurrency::find(1)); $this->be($this->user()); @@ -111,6 +125,11 @@ class ReconcileControllerTest extends TestCase */ public function testTransactionsInitialBalance(): void { + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + + $transaction = Transaction::leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') ->where('accounts.user_id', $this->user()->id)->where('accounts.account_type_id', 6)->first(['account_id']); $this->be($this->user()); diff --git a/tests/Feature/Controllers/Json/RecurrenceControllerTest.php b/tests/Feature/Controllers/Json/RecurrenceControllerTest.php index 653e7b5486..0b8467476e 100644 --- a/tests/Feature/Controllers/Json/RecurrenceControllerTest.php +++ b/tests/Feature/Controllers/Json/RecurrenceControllerTest.php @@ -42,7 +42,7 @@ class RecurrenceControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -158,6 +158,8 @@ class RecurrenceControllerTest extends TestCase */ public function testEventsStartAfterEnd(): void { + $repository = $this->mock(RecurringRepositoryInterface::class); + $parameters = [ 'start' => '2018-01-01', 'end' => '2018-01-31', @@ -336,6 +338,8 @@ class RecurrenceControllerTest extends TestCase */ public function testSuggest(): void { + $repository = $this->mock(RecurringRepositoryInterface::class); + $this->be($this->user()); $parameters = [ diff --git a/tests/Feature/Controllers/JsonControllerTest.php b/tests/Feature/Controllers/JsonControllerTest.php index 7432867f1f..2a062aac56 100644 --- a/tests/Feature/Controllers/JsonControllerTest.php +++ b/tests/Feature/Controllers/JsonControllerTest.php @@ -42,7 +42,7 @@ class JsonControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/NewUserControllerTest.php b/tests/Feature/Controllers/NewUserControllerTest.php index 9f210f6c78..b5fc071a91 100644 --- a/tests/Feature/Controllers/NewUserControllerTest.php +++ b/tests/Feature/Controllers/NewUserControllerTest.php @@ -27,7 +27,9 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -45,7 +47,7 @@ class NewUserControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -57,8 +59,11 @@ class NewUserControllerTest extends TestCase // mock stuff $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('count')->andReturn(0); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $this->be($this->emptyUser()); $response = $this->get(route('new-user.index')); @@ -74,6 +79,8 @@ class NewUserControllerTest extends TestCase // mock stuff $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('count')->andReturn(1); @@ -92,6 +99,8 @@ class NewUserControllerTest extends TestCase $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('store')->times(3); $currencyRepos->shouldReceive('findNull')->andReturn(TransactionCurrency::find(1)); @@ -118,6 +127,8 @@ class NewUserControllerTest extends TestCase $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('store')->times(3); $currencyRepos->shouldReceive('findNull')->andReturn(null); @@ -145,6 +156,8 @@ class NewUserControllerTest extends TestCase $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('store')->times(3); $currencyRepos->shouldReceive('findNull')->andReturn(TransactionCurrency::find(1)); diff --git a/tests/Feature/Controllers/PiggyBankControllerTest.php b/tests/Feature/Controllers/PiggyBankControllerTest.php index b93f53c098..6867aa6678 100644 --- a/tests/Feature/Controllers/PiggyBankControllerTest.php +++ b/tests/Feature/Controllers/PiggyBankControllerTest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace Tests\Feature\Controllers; use Amount; +use Carbon\Carbon; use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\PiggyBank; @@ -32,6 +33,7 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; use Mockery; @@ -53,7 +55,7 @@ class PiggyBankControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -63,8 +65,15 @@ class PiggyBankControllerTest extends TestCase public function testAdd(): void { // mock stuff - $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $piggyRepos->shouldReceive('getCurrentAmount')->andReturn('0'); $piggyRepos->shouldReceive('leftOnAccount')->andReturn('0'); @@ -80,8 +89,17 @@ class PiggyBankControllerTest extends TestCase public function testAddMobile(): void { // mock stuff - $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $piggyRepos->shouldReceive('getCurrentAmount')->andReturn('0'); $piggyRepos->shouldReceive('leftOnAccount')->andReturn('0'); @@ -98,21 +116,20 @@ class PiggyBankControllerTest extends TestCase public function testCreate(): void { // mock stuff + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); - - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); // new account list thing. $currency = TransactionCurrency::first(); $account = factory(Account::class)->make(); - $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $currencyRepos->shouldReceive('findNull')->andReturn($currency); - $accountRepos = $this->mock(AccountRepositoryInterface::class); - Amount::shouldReceive('getDefaultCurrency')->andReturn($currency); Amount::shouldReceive('balance')->andReturn('0'); - $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -128,7 +145,12 @@ class PiggyBankControllerTest extends TestCase public function testDelete(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -143,8 +165,12 @@ class PiggyBankControllerTest extends TestCase public function testDestroy(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('destroy')->andReturn(true); @@ -162,18 +188,23 @@ class PiggyBankControllerTest extends TestCase */ public function testEdit(): void { + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + // mock stuff - $account = factory(Account::class)->make(); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $account = factory(Account::class)->make(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); // mock stuff for new account list thing. - $currency = TransactionCurrency::first(); - $account = factory(Account::class)->make(); - $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $currency = TransactionCurrency::first(); + $account = factory(Account::class)->make(); + $currencyRepos->shouldReceive('findNull')->andReturn($currency); - $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('getAccountsByType') ->withArgs([[AccountType::ASSET, AccountType::DEFAULT]])->andReturn(new Collection([$account]))->once(); @@ -194,10 +225,28 @@ class PiggyBankControllerTest extends TestCase public function testIndex(): void { // mock stuff - $first = $this->user()->transactionJournals()->inRandomOrder()->first(); - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $piggies = $this->user()->piggyBanks()->take(2)->get(); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $accountRepos->shouldReceive('setUser'); + $currencyRepos->shouldReceive('setUser'); + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'accountRole'])->andReturn('defaultAsset')->atLeast()->once(); + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'accountNumber'])->andReturn('1234')->atLeast()->once(); + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'BIC'])->andReturn('1234')->atLeast()->once(); + + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $accountRepos->shouldReceive('getOpeningBalanceAmount')->withAnyArgs()->andReturn('10')->atLeast()->once(); + $accountRepos->shouldReceive('getOpeningBalanceDate')->withAnyArgs()->andReturn(new Carbon())->atLeast()->once(); + $accountRepos->shouldReceive('getNoteText')->withAnyArgs()->andReturn('Hello')->atLeast()->once(); + + + $first = $this->user()->transactionJournals()->inRandomOrder()->first(); + $piggies = $this->user()->piggyBanks()->take(2)->get(); $journalRepos->shouldReceive('firstNull')->once()->andReturn($first); $repository->shouldReceive('getPiggyBanks')->andReturn($piggies); $repository->shouldReceive('getCurrentAmount')->andReturn('10'); @@ -220,8 +269,15 @@ class PiggyBankControllerTest extends TestCase public function testPostAdd(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('canAddAmount')->once()->andReturn(true); $repository->shouldReceive('addAmount')->once()->andReturn(true); @@ -242,8 +298,15 @@ class PiggyBankControllerTest extends TestCase public function testPostAddTooMuch(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('canAddAmount')->once()->andReturn(false); @@ -261,8 +324,15 @@ class PiggyBankControllerTest extends TestCase public function testPostRemove(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('canRemoveAmount')->once()->andReturn(true); $repository->shouldReceive('removeAmount')->once()->andReturn(true); @@ -281,8 +351,15 @@ class PiggyBankControllerTest extends TestCase public function testPostRemoveTooMuch(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('canRemoveAmount')->once()->andReturn(false); @@ -300,7 +377,14 @@ class PiggyBankControllerTest extends TestCase public function testRemove(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -314,7 +398,14 @@ class PiggyBankControllerTest extends TestCase public function testRemoveMobile(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -331,7 +422,11 @@ class PiggyBankControllerTest extends TestCase public function testSetOrder(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('setOrder')->once()->withArgs([Mockery::any(), 3])->andReturn(false); $data = ['order' => '3']; @@ -347,9 +442,18 @@ class PiggyBankControllerTest extends TestCase public function testShow(): void { // mock stuff - $first = $this->user()->transactionJournals()->inRandomOrder()->first(); - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $first = $this->user()->transactionJournals()->inRandomOrder()->first(); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $accountRepos->shouldReceive('setUser'); + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once(); + $currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $currencyRepos->shouldReceive('setUser'); $repository->shouldReceive('setUser')->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn($first); $repository->shouldReceive('getEvents')->andReturn(new Collection); @@ -370,8 +474,12 @@ class PiggyBankControllerTest extends TestCase public function testStore(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('store')->andReturn(new PiggyBank); @@ -396,8 +504,12 @@ class PiggyBankControllerTest extends TestCase public function testUpdate(): void { // mock stuff - $repository = $this->mock(PiggyBankRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(PiggyBankRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('update')->andReturn(new PiggyBank); diff --git a/tests/Feature/Controllers/Popup/ReportControllerTest.php b/tests/Feature/Controllers/Popup/ReportControllerTest.php index 1ef29be399..0fbeb07b81 100644 --- a/tests/Feature/Controllers/Popup/ReportControllerTest.php +++ b/tests/Feature/Controllers/Popup/ReportControllerTest.php @@ -49,12 +49,11 @@ class ReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** * @covers \FireflyIII\Http\Controllers\Popup\ReportController - * @expectedExceptionMessage Could not parse end date */ public function testBadEndDate(): void { @@ -168,7 +167,6 @@ class ReportControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Popup\ReportController - * @expectedExceptionMessage Firefly cannot handle this type of info-button */ public function testBalanceAmountTagRole(): void { diff --git a/tests/Feature/Controllers/PreferencesControllerTest.php b/tests/Feature/Controllers/PreferencesControllerTest.php index 24e020ceff..daac19057b 100644 --- a/tests/Feature/Controllers/PreferencesControllerTest.php +++ b/tests/Feature/Controllers/PreferencesControllerTest.php @@ -29,6 +29,7 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -46,7 +47,7 @@ class PreferencesControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -59,6 +60,10 @@ class PreferencesControllerTest extends TestCase // mock stuff $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->withArgs([[AccountType::DEFAULT, AccountType::ASSET]])->andReturn(new Collection)->once(); diff --git a/tests/Feature/Controllers/ProfileControllerTest.php b/tests/Feature/Controllers/ProfileControllerTest.php index 2f686cc0b4..d75851822b 100644 --- a/tests/Feature/Controllers/ProfileControllerTest.php +++ b/tests/Feature/Controllers/ProfileControllerTest.php @@ -49,7 +49,7 @@ class ProfileControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -57,6 +57,10 @@ class ProfileControllerTest extends TestCase */ public function testChangeEmail(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $this->be($this->user()); $response = $this->get(route('profile.change-email')); $response->assertStatus(200); @@ -70,7 +74,10 @@ class ProfileControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('profile.change-password')); @@ -85,6 +92,10 @@ class ProfileControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); Google2FA::shouldReceive('generateSecretKey')->andReturn('secret'); Google2FA::shouldReceive('getQRCodeInline')->andReturn('long-data-url'); @@ -97,10 +108,13 @@ class ProfileControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\ProfileController - * @expectedExceptionMessage Invalid token */ public function testConfirmEmailChangeNoToken(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + + + Preferences::shouldReceive('findByName')->withArgs(['email_change_confirm_token'])->andReturn(new Collection()); // email_change_confirm_token $response = $this->get(route('profile.confirm-email-change', ['some-fake-token'])); @@ -113,6 +127,7 @@ class ProfileControllerTest extends TestCase public function testConfirmEmailWithToken(): void { $repository = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('unblockUser'); $preference = new Preference; $preference->data = 'existing-token'; @@ -132,6 +147,11 @@ class ProfileControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -147,6 +167,10 @@ class ProfileControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -257,6 +281,11 @@ class ProfileControllerTest extends TestCase Preference::where('user_id', $this->user()->id)->where('name', 'access_token')->delete(); // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $userRepos->shouldReceive('findNull')->atLeast()->once()->andReturn($this->user()); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -274,6 +303,7 @@ class ProfileControllerTest extends TestCase 'email' => 'new@example.com', ]; $repository = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('findByEmail')->once()->andReturn(null); $repository->shouldReceive('changeEmail')->once()->andReturn(true); $repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->once()->andReturn(false); @@ -396,6 +426,8 @@ class ProfileControllerTest extends TestCase */ public function testPostCode(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $secret = '0123456789abcde'; $key = '123456'; @@ -541,7 +573,6 @@ class ProfileControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\ProfileController - * @expectedExceptionMessage Invalid token */ public function testUndoEmailChangeBadToken(): void { diff --git a/tests/Feature/Controllers/Recurring/CreateControllerTest.php b/tests/Feature/Controllers/Recurring/CreateControllerTest.php index 3fdd63d91a..fd0d4aec4e 100644 --- a/tests/Feature/Controllers/Recurring/CreateControllerTest.php +++ b/tests/Feature/Controllers/Recurring/CreateControllerTest.php @@ -26,12 +26,16 @@ namespace Tests\Feature\Controllers\Recurring; use Carbon\Carbon; use FireflyIII\Models\TransactionCurrency; +use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; +use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -46,7 +50,7 @@ class CreateControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -56,6 +60,13 @@ class CreateControllerTest extends TestCase { $recurringRepos = $this->mock(RecurringRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $budgetRepos->shouldReceive('getActiveBudgets')->andReturn(new Collection)->once(); \Amount::shouldReceive('getDefaultCurrency')->andReturn(TransactionCurrency::find(1)); @@ -76,6 +87,11 @@ class CreateControllerTest extends TestCase $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + $tomorrow = Carbon::create()->addDays(2); $recurrence = $this->user()->recurrences()->first(); $data = [ @@ -125,6 +141,13 @@ class CreateControllerTest extends TestCase $recurringRepos = $this->mock(RecurringRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + + $tomorrow = Carbon::create()->addDays(2); $recurrence = $this->user()->recurrences()->first(); $data = [ @@ -176,6 +199,13 @@ class CreateControllerTest extends TestCase $recurringRepos = $this->mock(RecurringRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + + $tomorrow = Carbon::create()->addDays(2); $recurrence = $this->user()->recurrences()->first(); $data = [ @@ -228,6 +258,12 @@ class CreateControllerTest extends TestCase $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $piggyRepos = $this->mock(PiggyBankRepositoryInterface::class); + + $tomorrow = Carbon::create()->addDays(2); $recurrence = $this->user()->recurrences()->first(); $data = [ diff --git a/tests/Feature/Controllers/Recurring/DeleteControllerTest.php b/tests/Feature/Controllers/Recurring/DeleteControllerTest.php index fadee7b0d3..0d2aa8700c 100644 --- a/tests/Feature/Controllers/Recurring/DeleteControllerTest.php +++ b/tests/Feature/Controllers/Recurring/DeleteControllerTest.php @@ -24,8 +24,10 @@ declare(strict_types=1); namespace Tests\Feature\Controllers\Recurring; use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -40,7 +42,7 @@ class DeleteControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -49,8 +51,10 @@ class DeleteControllerTest extends TestCase public function testDelete(): void { $recurringRepos = $this->mock(RecurringRepositoryInterface::class); - $recurringRepos->shouldReceive('getTransactions')->andReturn(new Collection())->once(); + $userRepos = $this->mock(UserRepositoryInterface::class); + $recurringRepos->shouldReceive('getTransactions')->andReturn(new Collection())->once(); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('recurring.delete', [1])); @@ -64,6 +68,8 @@ class DeleteControllerTest extends TestCase public function testDestroy(): void { $recurringRepos = $this->mock(RecurringRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $recurringRepos->shouldReceive('destroy')->once(); diff --git a/tests/Feature/Controllers/Recurring/EditControllerTest.php b/tests/Feature/Controllers/Recurring/EditControllerTest.php index f305c73003..1496be64ef 100644 --- a/tests/Feature/Controllers/Recurring/EditControllerTest.php +++ b/tests/Feature/Controllers/Recurring/EditControllerTest.php @@ -24,11 +24,15 @@ declare(strict_types=1); namespace Tests\Feature\Controllers\Recurring; use Carbon\Carbon; +use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; +use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -43,7 +47,7 @@ class EditControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -53,6 +57,11 @@ class EditControllerTest extends TestCase { $recurringRepos = $this->mock(RecurringRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos =$this->mock(AccountRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $recurringRepos->shouldReceive('setUser'); $recurringRepos->shouldReceive('getNoteText')->andReturn('Note!'); @@ -80,6 +89,9 @@ class EditControllerTest extends TestCase $recurringRepos = $this->mock(RecurringRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); + $accountRepos =$this->mock(AccountRepositoryInterface::class); $recurringRepos->shouldReceive('update')->once(); diff --git a/tests/Feature/Controllers/Recurring/IndexControllerTest.php b/tests/Feature/Controllers/Recurring/IndexControllerTest.php index 40f56f5e41..201fa86538 100644 --- a/tests/Feature/Controllers/Recurring/IndexControllerTest.php +++ b/tests/Feature/Controllers/Recurring/IndexControllerTest.php @@ -24,9 +24,12 @@ declare(strict_types=1); namespace Tests\Feature\Controllers\Recurring; use FireflyIII\Models\Configuration; +use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -41,7 +44,7 @@ class IndexControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -50,7 +53,13 @@ class IndexControllerTest extends TestCase public function testIndex(): void { - $repository = $this->mock(RecurringRepositoryInterface::class); + $repository = $this->mock(RecurringRepositoryInterface::class); + $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $budgetRepos->shouldReceive('findNull')->withAnyArgs()->andReturn($this->user()->budgets()->first())->atLeast()->once(); $config = new Configuration; $config->data = 0; @@ -79,7 +88,14 @@ class IndexControllerTest extends TestCase public function testShow(): void { - $repository = $this->mock(RecurringRepositoryInterface::class); + $repository = $this->mock(RecurringRepositoryInterface::class); + $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $budgetRepos->shouldReceive('findNull')->withAnyArgs()->andReturn($this->user()->budgets()->first())->atLeast()->once(); + + $recurrence = $this->user()->recurrences()->first(); $repository->shouldReceive('setUser'); $repository->shouldReceive('getNoteText')->andReturn('Notes'); diff --git a/tests/Feature/Controllers/Report/AccountControllerTest.php b/tests/Feature/Controllers/Report/AccountControllerTest.php index 965ac4d6c4..eba73720b5 100644 --- a/tests/Feature/Controllers/Report/AccountControllerTest.php +++ b/tests/Feature/Controllers/Report/AccountControllerTest.php @@ -41,7 +41,7 @@ class AccountControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/Report/BalanceControllerTest.php b/tests/Feature/Controllers/Report/BalanceControllerTest.php index b6a124508c..255604946c 100644 --- a/tests/Feature/Controllers/Report/BalanceControllerTest.php +++ b/tests/Feature/Controllers/Report/BalanceControllerTest.php @@ -42,7 +42,7 @@ class BalanceControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/Report/BudgetControllerTest.php b/tests/Feature/Controllers/Report/BudgetControllerTest.php index 308a0c487a..a6daac622d 100644 --- a/tests/Feature/Controllers/Report/BudgetControllerTest.php +++ b/tests/Feature/Controllers/Report/BudgetControllerTest.php @@ -43,7 +43,7 @@ class BudgetControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/Report/CategoryControllerTest.php b/tests/Feature/Controllers/Report/CategoryControllerTest.php index b230e00387..6c85d5313c 100644 --- a/tests/Feature/Controllers/Report/CategoryControllerTest.php +++ b/tests/Feature/Controllers/Report/CategoryControllerTest.php @@ -43,7 +43,7 @@ class CategoryControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/Report/ExpenseControllerTest.php b/tests/Feature/Controllers/Report/ExpenseControllerTest.php index 77de4e78e2..1a12a0837f 100644 --- a/tests/Feature/Controllers/Report/ExpenseControllerTest.php +++ b/tests/Feature/Controllers/Report/ExpenseControllerTest.php @@ -45,7 +45,7 @@ class ExpenseControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/Report/OperationsControllerTest.php b/tests/Feature/Controllers/Report/OperationsControllerTest.php index afdcb13fb2..3dbfbd5375 100644 --- a/tests/Feature/Controllers/Report/OperationsControllerTest.php +++ b/tests/Feature/Controllers/Report/OperationsControllerTest.php @@ -41,7 +41,7 @@ class OperationsControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Feature/Controllers/ReportControllerTest.php b/tests/Feature/Controllers/ReportControllerTest.php index 01559e3075..f2bb7b0151 100644 --- a/tests/Feature/Controllers/ReportControllerTest.php +++ b/tests/Feature/Controllers/ReportControllerTest.php @@ -40,8 +40,10 @@ use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Tag\TagRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -59,7 +61,7 @@ class ReportControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -69,6 +71,7 @@ class ReportControllerTest extends TestCase public function testAccountReport(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $budgetRepository->shouldReceive('cleanupBudgets'); $generator = $this->mock(AcYRG::class); @@ -93,6 +96,7 @@ class ReportControllerTest extends TestCase public function testAuditReport(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $budgetRepository->shouldReceive('cleanupBudgets'); $generator = $this->mock(AYRG::class); @@ -115,6 +119,7 @@ class ReportControllerTest extends TestCase public function testBudgetReport(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $budgetRepository->shouldReceive('cleanupBudgets'); $generator = $this->mock(BYRG::class); @@ -137,6 +142,8 @@ class ReportControllerTest extends TestCase public function testCategoryReport(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $budgetRepository->shouldReceive('cleanupBudgets'); $generator = $this->mock(CYRG::class); @@ -159,6 +166,8 @@ class ReportControllerTest extends TestCase public function testDefaultReport(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $budgetRepository->shouldReceive('cleanupBudgets'); $generator = $this->mock(SYRG::class); @@ -180,6 +189,8 @@ class ReportControllerTest extends TestCase public function testDefaultReportBadDate(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $budgetRepository->shouldReceive('cleanupBudgets'); $journalRepos = $this->mock(JournalRepositoryInterface::class); @@ -197,7 +208,10 @@ class ReportControllerTest extends TestCase public function testIndex(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $budgetRepository->shouldReceive('cleanupBudgets'); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $helper = $this->mock(ReportHelperInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); @@ -218,6 +232,8 @@ class ReportControllerTest extends TestCase public function testOptions(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -233,6 +249,8 @@ class ReportControllerTest extends TestCase public function testOptionsAccount(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $account = new Account(); $account->name = 'Something'; @@ -256,6 +274,8 @@ class ReportControllerTest extends TestCase public function testOptionsBudget(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -275,6 +295,8 @@ class ReportControllerTest extends TestCase public function testOptionsCategory(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -293,6 +315,8 @@ class ReportControllerTest extends TestCase public function testOptionsTag(): void { $budgetRepository = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -316,6 +340,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->times(3); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -343,6 +369,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -369,6 +397,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -398,6 +428,7 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -427,6 +458,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -456,6 +489,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $categoryRepos->shouldReceive('findNull')->andReturn($this->user()->categories()->find(1))->twice(); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -484,6 +519,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -510,6 +547,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -536,6 +575,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('findNull')->andReturn($this->user()->accounts()->find(1))->twice(); @@ -564,6 +605,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + /** @var Tag $tag */ $tag = $this->user()->tags()->find(1); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -594,6 +637,8 @@ class ReportControllerTest extends TestCase $journalRepos = $this->mock(JournalRepositoryInterface::class); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $data = [ @@ -620,7 +665,9 @@ class ReportControllerTest extends TestCase $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $tagRepos = $this->mock(TagRepositoryInterface::class); $generator = $this->mock(TYRG::class); - $tag = $this->user()->tags()->find(1); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $tag = $this->user()->tags()->find(1); $tagRepos->shouldReceive('setUser'); $tagRepos->shouldReceive('get')->andReturn(new Collection([$tag])); diff --git a/tests/Feature/Controllers/Rule/CreateControllerTest.php b/tests/Feature/Controllers/Rule/CreateControllerTest.php index 62303792c1..3ff9635131 100644 --- a/tests/Feature/Controllers/Rule/CreateControllerTest.php +++ b/tests/Feature/Controllers/Rule/CreateControllerTest.php @@ -29,7 +29,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Bill\BillRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; +use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -43,7 +46,7 @@ class CreateControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -53,10 +56,17 @@ class CreateControllerTest extends TestCase public function testCreate(): void { // mock stuff - $journalRepos = $this->mock(JournalRepositoryInterface::class); - $billRepos = $this->mock(BillRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $billRepos = $this->mock(BillRepositoryInterface::class); + $ruleRepos = $this->mock(RuleRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $ruleGroupRepos->shouldReceive('count')->atLeast()->once()->andReturn(1); + $ruleRepos->shouldReceive('count')->atLeast()->once()->andReturn(1); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $this->be($this->user()); $response = $this->get(route('rules.create', [1])); $response->assertStatus(200); @@ -72,6 +82,14 @@ class CreateControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $billRepos = $this->mock(BillRepositoryInterface::class); + $ruleRepos = $this->mock(RuleRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $ruleGroupRepos->shouldReceive('count')->atLeast()->once()->andReturn(1); + $ruleRepos->shouldReceive('count')->atLeast()->once()->andReturn(1); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -97,6 +115,14 @@ class CreateControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleRepos = $this->mock(RuleRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $ruleGroupRepos->shouldReceive('count')->atLeast()->once()->andReturn(1); + $ruleRepos->shouldReceive('count')->atLeast()->once()->andReturn(1); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -114,6 +140,9 @@ class CreateControllerTest extends TestCase // mock stuff $repository = $this->mock(RuleRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('store')->andReturn(new Rule); diff --git a/tests/Feature/Controllers/Rule/DeleteControllerTest.php b/tests/Feature/Controllers/Rule/DeleteControllerTest.php index 6b411384b2..5eb8e146cf 100644 --- a/tests/Feature/Controllers/Rule/DeleteControllerTest.php +++ b/tests/Feature/Controllers/Rule/DeleteControllerTest.php @@ -27,9 +27,15 @@ namespace tests\Feature\Controllers\Rule; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; +/** + * + * Class DeleteControllerTest + */ class DeleteControllerTest extends TestCase { /** @@ -38,7 +44,7 @@ class DeleteControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -49,6 +55,11 @@ class DeleteControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleRepos = $this->mock(RuleRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); diff --git a/tests/Feature/Controllers/Rule/EditControllerTest.php b/tests/Feature/Controllers/Rule/EditControllerTest.php index 919e8bc454..2adadf80af 100644 --- a/tests/Feature/Controllers/Rule/EditControllerTest.php +++ b/tests/Feature/Controllers/Rule/EditControllerTest.php @@ -29,8 +29,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -44,7 +46,7 @@ class EditControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -56,6 +58,10 @@ class EditControllerTest extends TestCase $groupRepos = $this->mock(RuleGroupRepositoryInterface::class); $repository = $this->mock(RuleRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('getPrimaryTrigger')->andReturn(new Rule); $groupRepos->shouldReceive('get')->andReturn(new Collection); @@ -85,6 +91,9 @@ class EditControllerTest extends TestCase $groupRepos = $this->mock(RuleGroupRepositoryInterface::class); $repository = $this->mock(RuleRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('getPrimaryTrigger')->andReturn(new Rule); $groupRepos->shouldReceive('get')->andReturn(new Collection); @@ -104,6 +113,8 @@ class EditControllerTest extends TestCase // mock stuff $repository = $this->mock(RuleRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $rule = Rule::find(1); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('update'); diff --git a/tests/Feature/Controllers/Rule/IndexControllerTest.php b/tests/Feature/Controllers/Rule/IndexControllerTest.php index f4fd74fa71..0dcca3ac2c 100644 --- a/tests/Feature/Controllers/Rule/IndexControllerTest.php +++ b/tests/Feature/Controllers/Rule/IndexControllerTest.php @@ -27,8 +27,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -46,7 +48,7 @@ class IndexControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -56,11 +58,14 @@ class IndexControllerTest extends TestCase public function testDown(): void { // mock stuff - $repository = $this->mock(RuleRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(RuleRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('moveDown'); + $this->be($this->user()); $response = $this->get(route('rules.down', [1])); $response->assertStatus(302); @@ -77,6 +82,9 @@ class IndexControllerTest extends TestCase $repository = $this->mock(RuleRepositoryInterface::class); $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $ruleGroupRepos->shouldReceive('count')->andReturn(0); $ruleGroupRepos->shouldReceive('store'); @@ -97,8 +105,11 @@ class IndexControllerTest extends TestCase public function testReorderRuleActions(): void { // mock stuff - $repository = $this->mock(RuleRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(RuleRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $data = ['actions' => [1, 2, 3]]; @@ -115,8 +126,10 @@ class IndexControllerTest extends TestCase public function testReorderRuleTriggers(): void { // mock stuff - $repository = $this->mock(RuleRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(RuleRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $data = ['triggers' => [1, 2, 3]]; @@ -134,8 +147,12 @@ class IndexControllerTest extends TestCase public function testUp(): void { // mock stuff - $repository = $this->mock(RuleRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); + $repository = $this->mock(RuleRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('moveUp'); diff --git a/tests/Feature/Controllers/Rule/SelectControllerTest.php b/tests/Feature/Controllers/Rule/SelectControllerTest.php index 922bfeb66f..69eee37d30 100644 --- a/tests/Feature/Controllers/Rule/SelectControllerTest.php +++ b/tests/Feature/Controllers/Rule/SelectControllerTest.php @@ -31,9 +31,11 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\TransactionRules\TransactionMatcher; use Illuminate\Support\Collection; use Log; +use Mockery; use Queue; use Tests\TestCase; @@ -49,7 +51,7 @@ class SelectControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -60,6 +62,8 @@ class SelectControllerTest extends TestCase $account = $this->user()->accounts()->find(1); $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(RuleRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $this->session(['first' => new Carbon('2010-01-01')]); $accountRepos->shouldReceive('getAccountsById')->andReturn(new Collection([$account])); Queue::fake(); @@ -88,6 +92,9 @@ class SelectControllerTest extends TestCase public function testSelectTransactions(): void { $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); $this->be($this->user()); @@ -113,6 +120,9 @@ class SelectControllerTest extends TestCase // mock stuff $matcher = $this->mock(TransactionMatcher::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $matcher->shouldReceive('setStrict')->once()->withArgs([false]); @@ -132,8 +142,8 @@ class SelectControllerTest extends TestCase */ public function testTestTriggersByRule(): void { - $matcher = $this->mock(TransactionMatcher::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); $matcher->shouldReceive('setLimit')->withArgs([10])->andReturnSelf()->once(); $matcher->shouldReceive('setRange')->withArgs([200])->andReturnSelf()->once(); @@ -154,6 +164,9 @@ class SelectControllerTest extends TestCase public function testTestTriggersError(): void { $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -179,6 +192,9 @@ class SelectControllerTest extends TestCase // mock stuff $matcher = $this->mock(TransactionMatcher::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $matcher->shouldReceive('setStrict')->once()->withArgs([false]); diff --git a/tests/Feature/Controllers/RuleGroupControllerTest.php b/tests/Feature/Controllers/RuleGroupControllerTest.php index 086809e696..e2dcfe46d7 100644 --- a/tests/Feature/Controllers/RuleGroupControllerTest.php +++ b/tests/Feature/Controllers/RuleGroupControllerTest.php @@ -29,8 +29,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -48,7 +50,7 @@ class RuleGroupControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -60,7 +62,9 @@ class RuleGroupControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('rule-groups.create')); @@ -76,8 +80,10 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('get')->andReturn(new Collection); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('rule-groups.delete', [1])); @@ -93,9 +99,11 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('destroy'); + $this->session(['rule-groups.delete.uri' => 'http://localhost']); $this->be($this->user()); $response = $this->post(route('rule-groups.destroy', [1])); @@ -112,6 +120,7 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('moveDown'); @@ -128,7 +137,9 @@ class RuleGroupControllerTest extends TestCase { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); /** @var RuleGroup $ruleGroup */ $ruleGroup = $this->user()->ruleGroups()->first(); @@ -150,6 +161,7 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsById')->andReturn(new Collection); @@ -177,8 +189,10 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('rule-groups.select-transactions', [1])); @@ -195,6 +209,7 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->session(['rule-groups.create.uri' => 'http://localhost']); @@ -219,6 +234,8 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('moveUp'); @@ -237,6 +254,7 @@ class RuleGroupControllerTest extends TestCase // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(RuleGroupRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $data = [ diff --git a/tests/Feature/Controllers/SearchControllerTest.php b/tests/Feature/Controllers/SearchControllerTest.php index f21132e69b..a8444f388b 100644 --- a/tests/Feature/Controllers/SearchControllerTest.php +++ b/tests/Feature/Controllers/SearchControllerTest.php @@ -22,9 +22,11 @@ declare(strict_types=1); namespace Tests\Feature\Controllers; +use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\Support\Search\SearchInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -42,7 +44,7 @@ class SearchControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -53,6 +55,10 @@ class SearchControllerTest extends TestCase public function testIndex(): void { $search = $this->mock(SearchInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $search->shouldReceive('parseQuery')->once(); $search->shouldReceive('getWordsAsString')->once()->andReturn('test'); $this->be($this->user()); @@ -68,6 +74,8 @@ class SearchControllerTest extends TestCase public function testSearch(): void { $search = $this->mock(SearchInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $search->shouldReceive('parseQuery')->once(); $search->shouldReceive('setLimit')->withArgs([50])->once(); $search->shouldReceive('searchTransactions')->once()->andReturn(new Collection); diff --git a/tests/Feature/Controllers/System/CronControllerTest.php b/tests/Feature/Controllers/System/CronControllerTest.php index 7a126fbb5a..7e8ce7f48c 100644 --- a/tests/Feature/Controllers/System/CronControllerTest.php +++ b/tests/Feature/Controllers/System/CronControllerTest.php @@ -45,7 +45,7 @@ class CronControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Feature/Controllers/TagControllerTest.php b/tests/Feature/Controllers/TagControllerTest.php index f8eb171824..f9a0d3848a 100644 --- a/tests/Feature/Controllers/TagControllerTest.php +++ b/tests/Feature/Controllers/TagControllerTest.php @@ -29,8 +29,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Tag\TagRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Pagination\LengthAwarePaginator; use Log; +use Mockery; use Tests\TestCase; /** @@ -48,7 +50,7 @@ class TagControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -60,7 +62,9 @@ class TagControllerTest extends TestCase // mock stuff $tagRepos = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('tags.create')); @@ -76,7 +80,10 @@ class TagControllerTest extends TestCase // mock stuff $tagRepos = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('tags.delete', [1])); @@ -92,6 +99,8 @@ class TagControllerTest extends TestCase // mock stuff $repository = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('destroy'); @@ -109,7 +118,9 @@ class TagControllerTest extends TestCase // mock stuff $tagRepos = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $this->be($this->user()); $response = $this->get(route('tags.edit', [1])); @@ -126,6 +137,9 @@ class TagControllerTest extends TestCase // mock stuff $repository = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('count')->andReturn(0); $repository->shouldReceive('tagCloud')->andReturn([]); @@ -155,6 +169,9 @@ class TagControllerTest extends TestCase $repository = $this->mock(TagRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('spentInPeriod')->andReturn('-1')->times(1); $repository->shouldReceive('firstUseDate')->andReturn(new Carbon)->once(); @@ -188,6 +205,9 @@ class TagControllerTest extends TestCase $repository = $this->mock(TagRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('firstUseDate')->andReturn(new Carbon)->once(); @@ -224,6 +244,9 @@ class TagControllerTest extends TestCase $repository = $this->mock(TagRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('spentInPeriod')->andReturn('-1')->times(1); $repository->shouldReceive('firstUseDate')->andReturn(new Carbon)->once(); @@ -263,6 +286,8 @@ class TagControllerTest extends TestCase // mock stuff $repository = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->andReturn(null); $repository->shouldReceive('store')->andReturn(new Tag); @@ -289,6 +314,7 @@ class TagControllerTest extends TestCase // mock stuff $repository = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->session(['tags.edit.uri' => 'http://localhost']); diff --git a/tests/Feature/Controllers/Transaction/BulkControllerTest.php b/tests/Feature/Controllers/Transaction/BulkControllerTest.php index 1be187c0a0..744c2fece2 100644 --- a/tests/Feature/Controllers/Transaction/BulkControllerTest.php +++ b/tests/Feature/Controllers/Transaction/BulkControllerTest.php @@ -25,6 +25,7 @@ namespace Tests\Feature\Controllers\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; use Mockery; @@ -45,7 +46,7 @@ class BulkControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -58,6 +59,9 @@ class BulkControllerTest extends TestCase // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $budgetRepos->shouldReceive('getActiveBudgets')->andReturn(new Collection); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection); $journalRepos->shouldReceive('getJournalDestinationAccounts')->andReturn(new Collection); @@ -83,6 +87,9 @@ class BulkControllerTest extends TestCase // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $budgetRepos->shouldReceive('getActiveBudgets')->andReturn(new Collection); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getJournalSourceAccounts') @@ -119,6 +126,9 @@ class BulkControllerTest extends TestCase // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $budgetRepos->shouldReceive('getActiveBudgets')->andReturn(new Collection); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection); $journalRepos->shouldReceive('getJournalDestinationAccounts')->andReturn(new Collection); @@ -154,6 +164,8 @@ class BulkControllerTest extends TestCase ]; $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->times(4)->andReturn(new TransactionJournal); @@ -192,6 +204,8 @@ class BulkControllerTest extends TestCase ]; $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->times(4)->andReturn(new TransactionJournal, null); diff --git a/tests/Feature/Controllers/Transaction/ConvertControllerTest.php b/tests/Feature/Controllers/Transaction/ConvertControllerTest.php index 30e05b014d..58b107a9e9 100644 --- a/tests/Feature/Controllers/Transaction/ConvertControllerTest.php +++ b/tests/Feature/Controllers/Transaction/ConvertControllerTest.php @@ -30,9 +30,11 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Illuminate\Support\MessageBag; use Log; +use Mockery; use Tests\TestCase; /** @@ -50,7 +52,7 @@ class ConvertControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -61,6 +63,8 @@ class ConvertControllerTest extends TestCase { // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); // find deposit: $deposit = $this->getRandomDeposit(); @@ -93,6 +97,8 @@ class ConvertControllerTest extends TestCase { // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); // find deposit: $deposit = $this->getRandomDeposit(); @@ -124,6 +130,8 @@ class ConvertControllerTest extends TestCase // find deposit: $deposit = $this->getRandomDeposit(); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn($deposit); $journalRepos->shouldReceive('getJournalTotal')->andReturn('1')->once(); @@ -141,6 +149,8 @@ class ConvertControllerTest extends TestCase { // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getJournalTotal')->andReturn('1')->once(); @@ -173,6 +183,9 @@ class ConvertControllerTest extends TestCase // find transfer: $transfer = $this->getRandomTransfer(); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->andReturn($transfer); $journalRepos->shouldReceive('getJournalTotal')->andReturn('1')->once(); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection)->once(); @@ -193,6 +206,9 @@ class ConvertControllerTest extends TestCase $transfer = $this->getRandomTransfer(); // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getJournalTotal')->andReturn('1')->once(); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection)->once(); @@ -219,6 +235,9 @@ class ConvertControllerTest extends TestCase $withdrawal = $this->getRandomWithdrawal(); // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getJournalTotal')->andReturn('1')->once(); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection)->once(); @@ -244,6 +263,9 @@ class ConvertControllerTest extends TestCase $withdrawal = $this->getRandomWithdrawal(); // mock stuff: $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getJournalTotal')->andReturn('1')->once(); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection)->once(); @@ -272,6 +294,7 @@ class ConvertControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -293,6 +316,8 @@ class ConvertControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -315,6 +340,8 @@ class ConvertControllerTest extends TestCase { // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -333,6 +360,8 @@ class ConvertControllerTest extends TestCase public function testPostIndexErrored(): void { $accountRepos = $this->mock(AccountRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $account = $this->user()->accounts()->first(); // find withdrawal: @@ -365,6 +394,8 @@ class ConvertControllerTest extends TestCase // mock stuff $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -386,6 +417,8 @@ class ConvertControllerTest extends TestCase // mock stuff $accountRepos = $this->mock(AccountRepositoryInterface::class); $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -414,6 +447,8 @@ class ConvertControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -438,6 +473,8 @@ class ConvertControllerTest extends TestCase { // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -456,6 +493,8 @@ class ConvertControllerTest extends TestCase { // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -474,6 +513,8 @@ class ConvertControllerTest extends TestCase { // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('convert')->andReturn(new MessageBag); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); diff --git a/tests/Feature/Controllers/Transaction/LinkControllerTest.php b/tests/Feature/Controllers/Transaction/LinkControllerTest.php index b0de8c2dd5..3706e0ff3d 100644 --- a/tests/Feature/Controllers/Transaction/LinkControllerTest.php +++ b/tests/Feature/Controllers/Transaction/LinkControllerTest.php @@ -27,7 +27,9 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournalLink; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; +use Mockery; use Tests\TestCase; /** @@ -41,7 +43,7 @@ class LinkControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -53,6 +55,10 @@ class LinkControllerTest extends TestCase { $journalRepos = $this->mock(JournalRepositoryInterface::class); $linkRepos = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -67,6 +73,8 @@ class LinkControllerTest extends TestCase { $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('destroyLink'); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); @@ -89,6 +97,8 @@ class LinkControllerTest extends TestCase { $repository = $this->mock(LinkTypeRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $data = [ 'link_other' => 8, 'link_type' => '1_inward', @@ -115,6 +125,8 @@ class LinkControllerTest extends TestCase { $repository = $this->mock(LinkTypeRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $data = [ 'link_other' => 8, 'link_type' => '1_inward', @@ -144,6 +156,9 @@ class LinkControllerTest extends TestCase ]; $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository = $this->mock(LinkTypeRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(null); $journalRepos->shouldReceive('findNull')->andReturn(null); @@ -162,6 +177,8 @@ class LinkControllerTest extends TestCase { $repository = $this->mock(LinkTypeRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $data = [ 'link_other' => 8, 'link_type' => '1_inward', @@ -188,6 +205,8 @@ class LinkControllerTest extends TestCase { $journalRepos = $this->mock(JournalRepositoryInterface::class); $repository = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('switchLink')->andReturn(false); $this->be($this->user()); diff --git a/tests/Feature/Controllers/Transaction/MassControllerTest.php b/tests/Feature/Controllers/Transaction/MassControllerTest.php index c4e457626b..28cbe57b9b 100644 --- a/tests/Feature/Controllers/Transaction/MassControllerTest.php +++ b/tests/Feature/Controllers/Transaction/MassControllerTest.php @@ -27,8 +27,10 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -46,7 +48,7 @@ class MassControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -57,6 +59,9 @@ class MassControllerTest extends TestCase public function testDelete(): void { $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getJournalSourceAccounts')->andReturn(new Collection)->once(); $journalRepos->shouldReceive('getJournalDestinationAccounts')->andReturn(new Collection)->once(); @@ -82,6 +87,8 @@ class MassControllerTest extends TestCase // mock deletion: $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->andReturnValues([$deposits[0], $deposits[1]])->times(2); $repository->shouldReceive('destroy')->times(2); @@ -103,6 +110,8 @@ class MassControllerTest extends TestCase public function testEdit(): void { $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $transfers = TransactionJournal::where('transaction_type_id', 3)->where('user_id', $this->user()->id)->take(2)->get(); $transfersArray = $transfers->pluck('id')->toArray(); @@ -140,6 +149,9 @@ class MassControllerTest extends TestCase public function testEditMultiple(): void { $budgetRepos = $this->mock(BudgetRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $budgetRepos->shouldReceive('getBudgets')->andReturn(new Collection); $journalRepos = $this->mock(JournalRepositoryInterface::class); @@ -188,6 +200,8 @@ class MassControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('update')->once(); $repository->shouldReceive('findNull')->once()->andReturn($deposit); diff --git a/tests/Feature/Controllers/Transaction/SingleControllerTest.php b/tests/Feature/Controllers/Transaction/SingleControllerTest.php index 3c73122e9d..5381a619fd 100644 --- a/tests/Feature/Controllers/Transaction/SingleControllerTest.php +++ b/tests/Feature/Controllers/Transaction/SingleControllerTest.php @@ -38,10 +38,12 @@ use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Database\Query\JoinClause; use Illuminate\Support\Collection; use Illuminate\Support\MessageBag; use Log; +use Mockery; use Steam; use Tests\TestCase; @@ -60,7 +62,7 @@ class SingleControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -75,6 +77,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $account = $this->user()->accounts()->first(); @@ -107,6 +111,9 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); Steam::shouldReceive('phpBytes')->andReturn(2048); @@ -133,6 +140,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); Steam::shouldReceive('phpBytes')->andReturn(2048); @@ -158,6 +167,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); Steam::shouldReceive('phpBytes')->andReturn(2048); @@ -182,6 +193,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $this->be($this->user()); @@ -203,6 +216,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('destroy')->once(); @@ -228,6 +243,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('setUser')->once(); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $account = $this->user()->accounts()->first(); @@ -273,6 +290,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('setUser')->once(); @@ -320,6 +339,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('setUser')->once(); @@ -367,6 +388,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('getTransactionType')->andReturn('Reconciliation')->once(); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); @@ -393,6 +416,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('setUser')->once(); @@ -423,6 +448,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $this->be($this->user()); @@ -443,6 +470,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('setUser')->once(); @@ -491,6 +520,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $journalRepos->shouldReceive('setUser')->once(); @@ -533,6 +564,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('setUser')->once(); @@ -583,6 +616,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); // mock results: @@ -619,6 +654,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); // mock results: @@ -674,6 +711,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); // mock results: @@ -729,6 +768,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); // mock results: @@ -785,6 +826,8 @@ class SingleControllerTest extends TestCase $attRepos = $this->mock(AttachmentHelperInterface::class); $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); // mock results: @@ -845,6 +888,8 @@ class SingleControllerTest extends TestCase $currencyRepos = $this->mock(CurrencyRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $linkRepos = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos->shouldReceive('firstNull')->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getTransactionType')->andReturn('Withdrawal'); diff --git a/tests/Feature/Controllers/Transaction/SplitControllerTest.php b/tests/Feature/Controllers/Transaction/SplitControllerTest.php index f8c15229c4..42d1b9f2af 100644 --- a/tests/Feature/Controllers/Transaction/SplitControllerTest.php +++ b/tests/Feature/Controllers/Transaction/SplitControllerTest.php @@ -32,6 +32,7 @@ use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; use Illuminate\Support\MessageBag; use Log; @@ -53,7 +54,7 @@ class SplitControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -66,7 +67,10 @@ class SplitControllerTest extends TestCase $accountRepos = $this->mock(AccountRepositoryInterface::class); $budgetRepository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $attHelper = $this->mock(AttachmentHelperInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1'); $currencyRepository->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1)); @@ -112,6 +116,10 @@ class SplitControllerTest extends TestCase $budgetRepository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $attHelper = $this->mock(AttachmentHelperInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + + $deposit = TransactionJournal::where('transaction_type_id', 2)->where('user_id', $this->user()->id)->first(); $destination = $deposit->transactions()->where('amount', '>', 0)->first(); $account = $destination->account; @@ -207,6 +215,8 @@ class SplitControllerTest extends TestCase $budgetRepository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $attHelper = $this->mock(AttachmentHelperInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $opening = TransactionJournal::where('transaction_type_id', 4)->where('user_id', $this->user()->id)->first(); $journalRepos->shouldReceive('firstNull')->once()->andReturn($opening); @@ -225,6 +235,9 @@ class SplitControllerTest extends TestCase $budgetRepository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $attHelper = $this->mock(AttachmentHelperInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $transactions = factory(Transaction::class, 1)->make(); $deposit = TransactionJournal::where('transaction_type_id', 2)->where('user_id', $this->user()->id)->first(); @@ -269,6 +282,8 @@ class SplitControllerTest extends TestCase $attHelper = $this->mock(AttachmentHelperInterface::class); $ruleRepos = $this->mock(RuleGroupRepositoryInterface::class); $billRepos = $this->mock(BillRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $billRepos->shouldReceive('scan'); $ruleRepos->shouldReceive('setUser')->once(); @@ -323,6 +338,8 @@ class SplitControllerTest extends TestCase $budgetRepository = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $attHelper = $this->mock(AttachmentHelperInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $this->session(['transactions.edit-split.uri' => 'http://localhost']); $opening = TransactionJournal::where('transaction_type_id', 4)->where('user_id', $this->user()->id)->first(); @@ -367,6 +384,7 @@ class SplitControllerTest extends TestCase $attHelper = $this->mock(AttachmentHelperInterface::class); $ruleRepos = $this->mock(RuleGroupRepositoryInterface::class); $billRepos = $this->mock(BillRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $billRepos->shouldReceive('scan'); $ruleRepos->shouldReceive('setUser')->once(); @@ -424,6 +442,8 @@ class SplitControllerTest extends TestCase $attHelper = $this->mock(AttachmentHelperInterface::class); $ruleRepos = $this->mock(RuleGroupRepositoryInterface::class); $billRepos = $this->mock(BillRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $billRepos->shouldReceive('scan'); $ruleRepos->shouldReceive('setUser')->once(); diff --git a/tests/Feature/Controllers/TransactionControllerTest.php b/tests/Feature/Controllers/TransactionControllerTest.php index b5a1038fee..8e383b104e 100644 --- a/tests/Feature/Controllers/TransactionControllerTest.php +++ b/tests/Feature/Controllers/TransactionControllerTest.php @@ -29,9 +29,11 @@ use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; use Log; +use Mockery; use Tests\TestCase; /** @@ -49,7 +51,7 @@ class TransactionControllerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } @@ -68,8 +70,10 @@ class TransactionControllerTest extends TestCase $transfer = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 3)->first(); $repository = $this->mock(JournalRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); - $repository->shouldReceive('firstNull')->twice()->andReturn($transfer); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->twice()->andReturn($transfer); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $collector->shouldReceive('setTypes')->andReturnSelf(); $collector->shouldReceive('setLimit')->andReturnSelf(); $collector->shouldReceive('setPage')->andReturnSelf(); @@ -102,8 +106,10 @@ class TransactionControllerTest extends TestCase $transfer = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 3)->first(); $repository = $this->mock(JournalRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); - $repository->shouldReceive('firstNull')->twice()->andReturn($transfer); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->twice()->andReturn($transfer); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $collector->shouldReceive('setTypes')->andReturnSelf(); $collector->shouldReceive('setLimit')->andReturnSelf(); $collector->shouldReceive('setPage')->andReturnSelf(); @@ -143,6 +149,8 @@ class TransactionControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $transfer = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 3)->first(); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); @@ -186,6 +194,8 @@ class TransactionControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $transfer = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 3)->first(); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); @@ -229,6 +239,8 @@ class TransactionControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $transfer = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 3)->first(); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); @@ -272,6 +284,8 @@ class TransactionControllerTest extends TestCase // mock stuff $repository = $this->mock(JournalRepositoryInterface::class); $collector = $this->mock(TransactionCollectorInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $transfer = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 3)->first(); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); $repository->shouldReceive('firstNull')->once()->andReturn($transfer); @@ -303,8 +317,9 @@ class TransactionControllerTest extends TestCase { $data = ['transactions' => [1, 2]]; $repository = $this->mock(JournalRepositoryInterface::class); - $repository->shouldReceive('firstNull')->times(1)->andReturn(new TransactionJournal); + $userRepos = $this->mock(UserRepositoryInterface::class); + $repository->shouldReceive('firstNull')->times(1)->andReturn(new TransactionJournal); $repository->shouldReceive('findTransaction')->andReturn(new Transaction)->twice(); $repository->shouldReceive('reconcile')->twice(); @@ -322,6 +337,7 @@ class TransactionControllerTest extends TestCase $journal = factory(TransactionJournal::class)->make(); $journal->date = new Carbon('2016-01-01'); $repository = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $repository->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal); $repository->shouldReceive('findNull')->once()->andReturn($journal); $repository->shouldReceive('setOrder')->once()->andReturn(true); @@ -343,9 +359,11 @@ class TransactionControllerTest extends TestCase { // mock stuff $linkRepos = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); + $linkRepos->shouldReceive('get')->andReturn(new Collection); $linkRepos->shouldReceive('getLinks')->andReturn(new Collection); - + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('getPiggyBankEvents')->andReturn(new Collection); @@ -368,6 +386,7 @@ class TransactionControllerTest extends TestCase public function testShowOpeningBalance(): void { $linkRepos = $this->mock(LinkTypeRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); $linkRepos->shouldReceive('get')->andReturn(new Collection); $linkRepos->shouldReceive('getLinks')->andReturn(new Collection); diff --git a/tests/Unit/Factory/AccountFactoryTest.php b/tests/Unit/Factory/AccountFactoryTest.php index 7354f3c6ea..0eb2b51082 100644 --- a/tests/Unit/Factory/AccountFactoryTest.php +++ b/tests/Unit/Factory/AccountFactoryTest.php @@ -44,7 +44,7 @@ class AccountFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/AccountMetaFactoryTest.php b/tests/Unit/Factory/AccountMetaFactoryTest.php index 0ddc5d788f..76221da3c8 100644 --- a/tests/Unit/Factory/AccountMetaFactoryTest.php +++ b/tests/Unit/Factory/AccountMetaFactoryTest.php @@ -42,7 +42,7 @@ class AccountMetaFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/AttachmentFactoryTest.php b/tests/Unit/Factory/AttachmentFactoryTest.php index cb5c3abf48..a9f46c22e7 100644 --- a/tests/Unit/Factory/AttachmentFactoryTest.php +++ b/tests/Unit/Factory/AttachmentFactoryTest.php @@ -42,7 +42,7 @@ class AttachmentFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/BillFactoryTest.php b/tests/Unit/Factory/BillFactoryTest.php index cb6289eba0..808b54dc41 100644 --- a/tests/Unit/Factory/BillFactoryTest.php +++ b/tests/Unit/Factory/BillFactoryTest.php @@ -41,7 +41,7 @@ class BillFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/BudgetFactoryTest.php b/tests/Unit/Factory/BudgetFactoryTest.php index e4fbef4f06..4c6c6d0e33 100644 --- a/tests/Unit/Factory/BudgetFactoryTest.php +++ b/tests/Unit/Factory/BudgetFactoryTest.php @@ -40,7 +40,7 @@ class BudgetFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/CategoryFactoryTest.php b/tests/Unit/Factory/CategoryFactoryTest.php index 3c878df809..1b60dd8e2b 100644 --- a/tests/Unit/Factory/CategoryFactoryTest.php +++ b/tests/Unit/Factory/CategoryFactoryTest.php @@ -39,7 +39,7 @@ class CategoryFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/PiggyBankEventFactoryTest.php b/tests/Unit/Factory/PiggyBankEventFactoryTest.php index 1d6f5a8af1..8abcae222f 100644 --- a/tests/Unit/Factory/PiggyBankEventFactoryTest.php +++ b/tests/Unit/Factory/PiggyBankEventFactoryTest.php @@ -44,7 +44,7 @@ class PiggyBankEventFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/PiggyBankFactoryTest.php b/tests/Unit/Factory/PiggyBankFactoryTest.php index e9e39382cc..872a236236 100644 --- a/tests/Unit/Factory/PiggyBankFactoryTest.php +++ b/tests/Unit/Factory/PiggyBankFactoryTest.php @@ -40,7 +40,7 @@ class PiggyBankFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/RecurrenceFactoryTest.php b/tests/Unit/Factory/RecurrenceFactoryTest.php index 46fe2592f6..297ad1b191 100644 --- a/tests/Unit/Factory/RecurrenceFactoryTest.php +++ b/tests/Unit/Factory/RecurrenceFactoryTest.php @@ -50,7 +50,7 @@ class RecurrenceFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/TagFactoryTest.php b/tests/Unit/Factory/TagFactoryTest.php index cc4b984de1..9e97d675a8 100644 --- a/tests/Unit/Factory/TagFactoryTest.php +++ b/tests/Unit/Factory/TagFactoryTest.php @@ -40,7 +40,7 @@ class TagFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/TransactionCurrencyFactoryTest.php b/tests/Unit/Factory/TransactionCurrencyFactoryTest.php index a0200409f5..d1347baa08 100644 --- a/tests/Unit/Factory/TransactionCurrencyFactoryTest.php +++ b/tests/Unit/Factory/TransactionCurrencyFactoryTest.php @@ -41,7 +41,7 @@ class TransactionCurrencyFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/TransactionFactoryTest.php b/tests/Unit/Factory/TransactionFactoryTest.php index ec09a76624..00e098cdb3 100644 --- a/tests/Unit/Factory/TransactionFactoryTest.php +++ b/tests/Unit/Factory/TransactionFactoryTest.php @@ -50,7 +50,7 @@ class TransactionFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/TransactionJournalFactoryTest.php b/tests/Unit/Factory/TransactionJournalFactoryTest.php index 4493a97bb3..f17966bb66 100644 --- a/tests/Unit/Factory/TransactionJournalFactoryTest.php +++ b/tests/Unit/Factory/TransactionJournalFactoryTest.php @@ -52,7 +52,7 @@ class TransactionJournalFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/TransactionJournalMetaFactoryTest.php b/tests/Unit/Factory/TransactionJournalMetaFactoryTest.php index 8b6b310d7f..460e31e135 100644 --- a/tests/Unit/Factory/TransactionJournalMetaFactoryTest.php +++ b/tests/Unit/Factory/TransactionJournalMetaFactoryTest.php @@ -42,7 +42,7 @@ class TransactionJournalMetaFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Factory/TransactionTypeFactoryTest.php b/tests/Unit/Factory/TransactionTypeFactoryTest.php index 7d65d5ed76..93fc3f9acf 100644 --- a/tests/Unit/Factory/TransactionTypeFactoryTest.php +++ b/tests/Unit/Factory/TransactionTypeFactoryTest.php @@ -41,7 +41,7 @@ class TransactionTypeFactoryTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Generator/Chart/Basic/ChartJsGeneratorTest.php b/tests/Unit/Generator/Chart/Basic/ChartJsGeneratorTest.php index febac12183..e1e9a1be1f 100644 --- a/tests/Unit/Generator/Chart/Basic/ChartJsGeneratorTest.php +++ b/tests/Unit/Generator/Chart/Basic/ChartJsGeneratorTest.php @@ -39,7 +39,7 @@ class ChartJsGeneratorTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Generator/Report/Audit/MonthReportGeneratorTest.php b/tests/Unit/Generator/Report/Audit/MonthReportGeneratorTest.php index a30241b664..312ce59a66 100644 --- a/tests/Unit/Generator/Report/Audit/MonthReportGeneratorTest.php +++ b/tests/Unit/Generator/Report/Audit/MonthReportGeneratorTest.php @@ -50,7 +50,7 @@ class MonthReportGeneratorTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Handlers/Events/APIEventHandlerTest.php b/tests/Unit/Handlers/Events/APIEventHandlerTest.php index 8c971f9698..e585107a91 100644 --- a/tests/Unit/Handlers/Events/APIEventHandlerTest.php +++ b/tests/Unit/Handlers/Events/APIEventHandlerTest.php @@ -44,7 +44,7 @@ class APIEventHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Handlers/Events/AdminEventHandlerTest.php b/tests/Unit/Handlers/Events/AdminEventHandlerTest.php index b82bcd4c4a..5ec6162d1a 100644 --- a/tests/Unit/Handlers/Events/AdminEventHandlerTest.php +++ b/tests/Unit/Handlers/Events/AdminEventHandlerTest.php @@ -44,7 +44,7 @@ class AdminEventHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Unit/Handlers/Events/AutomationHandlerTest.php b/tests/Unit/Handlers/Events/AutomationHandlerTest.php index 16fbfd723b..59ecc5e85a 100644 --- a/tests/Unit/Handlers/Events/AutomationHandlerTest.php +++ b/tests/Unit/Handlers/Events/AutomationHandlerTest.php @@ -46,7 +46,7 @@ class AutomationHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Unit/Handlers/Events/StoredJournalEventHandlerTest.php b/tests/Unit/Handlers/Events/StoredJournalEventHandlerTest.php index a91b4dc99b..f2cceb6d72 100644 --- a/tests/Unit/Handlers/Events/StoredJournalEventHandlerTest.php +++ b/tests/Unit/Handlers/Events/StoredJournalEventHandlerTest.php @@ -44,7 +44,7 @@ class StoredJournalEventHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Handlers/Events/UpdatedJournalEventHandlerTest.php b/tests/Unit/Handlers/Events/UpdatedJournalEventHandlerTest.php index b7fffc56e2..0cee2e4bd9 100644 --- a/tests/Unit/Handlers/Events/UpdatedJournalEventHandlerTest.php +++ b/tests/Unit/Handlers/Events/UpdatedJournalEventHandlerTest.php @@ -41,7 +41,7 @@ class UpdatedJournalEventHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Unit/Handlers/Events/UserEventHandlerTest.php b/tests/Unit/Handlers/Events/UserEventHandlerTest.php index 7b79511aae..cb93f505db 100644 --- a/tests/Unit/Handlers/Events/UserEventHandlerTest.php +++ b/tests/Unit/Handlers/Events/UserEventHandlerTest.php @@ -54,7 +54,7 @@ class UserEventHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Handlers/Events/VersionCheckEventHandlerTest.php b/tests/Unit/Handlers/Events/VersionCheckEventHandlerTest.php index c1c9ed4ff8..24c7be88a6 100644 --- a/tests/Unit/Handlers/Events/VersionCheckEventHandlerTest.php +++ b/tests/Unit/Handlers/Events/VersionCheckEventHandlerTest.php @@ -47,7 +47,7 @@ class VersionCheckEventHandlerTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } diff --git a/tests/Unit/Helpers/Attachments/AttachmentHelperTest.php b/tests/Unit/Helpers/Attachments/AttachmentHelperTest.php index 4daf52ac5c..50483d0065 100644 --- a/tests/Unit/Helpers/Attachments/AttachmentHelperTest.php +++ b/tests/Unit/Helpers/Attachments/AttachmentHelperTest.php @@ -46,7 +46,7 @@ class AttachmentHelperTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Helpers/Chart/MetaPieChartTest.php b/tests/Unit/Helpers/Chart/MetaPieChartTest.php index 45580a5335..eb9fe5ea2f 100644 --- a/tests/Unit/Helpers/Chart/MetaPieChartTest.php +++ b/tests/Unit/Helpers/Chart/MetaPieChartTest.php @@ -52,7 +52,7 @@ class MetaPieChartTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Helpers/Filter/AmountFilterTest.php b/tests/Unit/Helpers/Filter/AmountFilterTest.php index ae68185e44..9756561116 100644 --- a/tests/Unit/Helpers/Filter/AmountFilterTest.php +++ b/tests/Unit/Helpers/Filter/AmountFilterTest.php @@ -42,7 +42,7 @@ class AmountFilterTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Helpers/FiscalHelperTest.php b/tests/Unit/Helpers/FiscalHelperTest.php index e8c93a337c..b2819f344f 100644 --- a/tests/Unit/Helpers/FiscalHelperTest.php +++ b/tests/Unit/Helpers/FiscalHelperTest.php @@ -44,7 +44,7 @@ class FiscalHelperTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Helpers/Help/HelpTest.php b/tests/Unit/Helpers/Help/HelpTest.php index 292effbad3..aa7338f21c 100644 --- a/tests/Unit/Helpers/Help/HelpTest.php +++ b/tests/Unit/Helpers/Help/HelpTest.php @@ -44,7 +44,7 @@ class HelpTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Helpers/Report/NetWorthTest.php b/tests/Unit/Helpers/Report/NetWorthTest.php index 75b65ec2fd..ec1f37ab8a 100644 --- a/tests/Unit/Helpers/Report/NetWorthTest.php +++ b/tests/Unit/Helpers/Report/NetWorthTest.php @@ -30,6 +30,7 @@ use FireflyIII\Helpers\Report\NetWorth; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; +use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use Illuminate\Support\Collection; use Log; use Mockery; @@ -48,7 +49,7 @@ class NetWorthTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** diff --git a/tests/Unit/Import/Converter/AmountCreditTest.php b/tests/Unit/Import/Converter/AmountCreditTest.php index 68db152e10..6695329811 100644 --- a/tests/Unit/Import/Converter/AmountCreditTest.php +++ b/tests/Unit/Import/Converter/AmountCreditTest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace Tests\Unit\Import\Converter; use FireflyIII\Import\Converter\AmountCredit; +use Log; use Tests\TestCase; /** @@ -30,6 +31,16 @@ use Tests\TestCase; */ class AmountCreditTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Converter\AmountCredit */ diff --git a/tests/Unit/Import/Converter/AmountDebitTest.php b/tests/Unit/Import/Converter/AmountDebitTest.php index 48a36c55bf..ac6bc02a0e 100644 --- a/tests/Unit/Import/Converter/AmountDebitTest.php +++ b/tests/Unit/Import/Converter/AmountDebitTest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace Tests\Unit\Import\Converter; use FireflyIII\Import\Converter\AmountDebit; +use Log; use Tests\TestCase; /** @@ -30,6 +31,16 @@ use Tests\TestCase; */ class AmountDebitTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Converter\AmountDebit */ diff --git a/tests/Unit/Import/Converter/AmountTest.php b/tests/Unit/Import/Converter/AmountTest.php index fff625c419..775f30a9a8 100644 --- a/tests/Unit/Import/Converter/AmountTest.php +++ b/tests/Unit/Import/Converter/AmountTest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace Tests\Unit\Import\Converter; use FireflyIII\Import\Converter\Amount; +use Log; use Tests\TestCase; /** @@ -30,6 +31,16 @@ use Tests\TestCase; */ class AmountTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Converter\Amount */ diff --git a/tests/Unit/Import/Converter/INGDebitCreditTest.php b/tests/Unit/Import/Converter/INGDebitCreditTest.php index fdd6f9765c..846e05f727 100644 --- a/tests/Unit/Import/Converter/INGDebitCreditTest.php +++ b/tests/Unit/Import/Converter/INGDebitCreditTest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace Tests\Unit\Import\Converter; use FireflyIII\Import\Converter\INGDebitCredit; +use Log; use Tests\TestCase; /** @@ -31,6 +32,16 @@ use Tests\TestCase; */ class INGDebitCreditTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Converter\INGDebitCredit */ diff --git a/tests/Unit/Import/Converter/RabobankDebitCreditTest.php b/tests/Unit/Import/Converter/RabobankDebitCreditTest.php index 0c216c1ec7..a9e101e8bd 100644 --- a/tests/Unit/Import/Converter/RabobankDebitCreditTest.php +++ b/tests/Unit/Import/Converter/RabobankDebitCreditTest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace Tests\Unit\Import\Converter; use FireflyIII\Import\Converter\RabobankDebitCredit; +use Log; use Tests\TestCase; /** @@ -31,6 +32,16 @@ use Tests\TestCase; */ class RabobankDebitCreditTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Converter\RabobankDebitCredit */ diff --git a/tests/Unit/Import/JobConfiguration/FakeJobConfigurationTest.php b/tests/Unit/Import/JobConfiguration/FakeJobConfigurationTest.php index 61dc12ba5a..7b8e8c734f 100644 --- a/tests/Unit/Import/JobConfiguration/FakeJobConfigurationTest.php +++ b/tests/Unit/Import/JobConfiguration/FakeJobConfigurationTest.php @@ -26,6 +26,7 @@ namespace Tests\Unit\Import\JobConfiguration; use FireflyIII\Import\JobConfiguration\FakeJobConfiguration; use FireflyIII\Models\ImportJob; use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; +use Log; use Mockery; use Tests\TestCase; @@ -34,6 +35,16 @@ use Tests\TestCase; */ class FakeJobConfigurationTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * No config, job is new. * @@ -41,6 +52,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCC(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'A_unit_' . random_int(1, 10000); @@ -51,6 +65,8 @@ class FakeJobConfigurationTest extends TestCase $job->configuration = []; $job->save(); + + // should be false: $configurator = new FakeJobConfiguration; $configurator->setImportJob($job); @@ -64,6 +80,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCCAlbumFalse(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'B_unit_' . random_int(1, 10000); @@ -87,6 +106,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCCApplyRules(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'C_unit_' . random_int(1, 10000); @@ -112,6 +134,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCCBadAlbum(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'D_unit_' . random_int(1, 10000); @@ -140,6 +165,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCCBadInfo(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'E_unit_' . random_int(1, 10000); @@ -167,6 +195,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCCGoodAlbum(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'f_unit_' . random_int(1, 10000); @@ -195,6 +226,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testCCGoodNewInfo(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'g_unit_' . random_int(1, 10000); @@ -502,6 +536,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testGetNextViewAlbum(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'p_unit_' . random_int(1, 10000); @@ -526,6 +563,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testGetNextViewArtist(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'p_unit_' . random_int(1, 10000); @@ -550,6 +590,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testGetNextViewRules(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'p_unit_' . random_int(1, 10000); @@ -574,6 +617,9 @@ class FakeJobConfigurationTest extends TestCase */ public function testGetNextViewSong(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'p_unit_' . random_int(1, 10000); diff --git a/tests/Unit/Import/JobConfiguration/FileJobConfigurationTest.php b/tests/Unit/Import/JobConfiguration/FileJobConfigurationTest.php index c927e5c229..642590f952 100644 --- a/tests/Unit/Import/JobConfiguration/FileJobConfigurationTest.php +++ b/tests/Unit/Import/JobConfiguration/FileJobConfigurationTest.php @@ -27,6 +27,7 @@ namespace Tests\Unit\Import\JobConfiguration; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Import\JobConfiguration\FileJobConfiguration; use FireflyIII\Models\ImportJob; +use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\JobConfiguration\File\ConfigureMappingHandler; use FireflyIII\Support\Import\JobConfiguration\File\ConfigureRolesHandler; use FireflyIII\Support\Import\JobConfiguration\File\ConfigureUploadHandler; @@ -34,12 +35,22 @@ use FireflyIII\Support\Import\JobConfiguration\File\NewFileJobHandler; use Illuminate\Support\MessageBag; use Mockery; use Tests\TestCase; - +use Log; /** * Class FileJobConfigurationTest */ class FileJobConfigurationTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * No config, job is new. * @@ -47,6 +58,8 @@ class FileJobConfigurationTest extends TestCase */ public function testCCFalse(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'File_A_unit_' . random_int(1, 10000); @@ -70,6 +83,8 @@ class FileJobConfigurationTest extends TestCase */ public function testCCTrue(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'File_B_unit_' . random_int(1, 10000); @@ -93,6 +108,8 @@ class FileJobConfigurationTest extends TestCase */ public function testConfigureJob(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'I-Cfile_' . random_int(1, 10000); @@ -128,6 +145,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextDataCU(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'G-Dfile_' . random_int(1, 10000); @@ -161,6 +180,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextDataMap(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'H-Efile_' . random_int(1, 10000); @@ -194,6 +215,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextDataNew(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'F-fFile_' . random_int(1, 10000); @@ -227,6 +250,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextDataRoles(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'H-fiGle_' . random_int(1, 10000); @@ -260,6 +285,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextViewCU(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'DfiHle_' . random_int(1, 10000); @@ -288,6 +315,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextViewMap(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'FfilIe_' . random_int(1, 10000); @@ -316,6 +345,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextViewNew(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'CfJile_' . random_int(1, 10000); @@ -344,6 +375,8 @@ class FileJobConfigurationTest extends TestCase */ public function testGetNextViewRoles(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once()->atLeast(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'EfiKle_' . random_int(1, 10000); diff --git a/tests/Unit/Import/JobConfiguration/SpectreJobConfigurationTest.php b/tests/Unit/Import/JobConfiguration/SpectreJobConfigurationTest.php index 3a1a08b4d4..b60476a830 100644 --- a/tests/Unit/Import/JobConfiguration/SpectreJobConfigurationTest.php +++ b/tests/Unit/Import/JobConfiguration/SpectreJobConfigurationTest.php @@ -26,6 +26,7 @@ namespace Tests\Unit\Import\JobConfiguration; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Import\JobConfiguration\SpectreJobConfiguration; use FireflyIII\Models\ImportJob; +use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\JobConfiguration\Spectre\AuthenticatedHandler; use FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseAccountsHandler; use FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseLoginHandler; @@ -33,17 +34,30 @@ use FireflyIII\Support\Import\JobConfiguration\Spectre\DoAuthenticateHandler; use FireflyIII\Support\Import\JobConfiguration\Spectre\NewSpectreJobHandler; use Illuminate\Support\MessageBag; use Tests\TestCase; +use Log; /** * Class SpectreJobConfigurationTest */ class SpectreJobConfigurationTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\JobConfiguration\SpectreJobConfiguration */ public function testConfigurationComplete(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'spectre_jc_A' . random_int(1, 10000); @@ -73,6 +87,8 @@ class SpectreJobConfigurationTest extends TestCase */ public function testConfigureJob(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'spectre_jc_B' . random_int(1, 10000); @@ -105,6 +121,8 @@ class SpectreJobConfigurationTest extends TestCase */ public function testGetNextData(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'spectre_jc_C' . random_int(1, 10000); @@ -135,6 +153,8 @@ class SpectreJobConfigurationTest extends TestCase */ public function testGetNextView(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'spectre_jc_D' . random_int(1, 10000); @@ -164,6 +184,8 @@ class SpectreJobConfigurationTest extends TestCase */ public function testGetNextViewAccount(): void { + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'spectre_jc_E' . random_int(1, 10000); diff --git a/tests/Unit/Import/Mapper/AssetAccountIbansTest.php b/tests/Unit/Import/Mapper/AssetAccountIbansTest.php index 0622bc5e23..f5775e28fa 100644 --- a/tests/Unit/Import/Mapper/AssetAccountIbansTest.php +++ b/tests/Unit/Import/Mapper/AssetAccountIbansTest.php @@ -29,12 +29,23 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class AssetAccountIbansTest */ class AssetAccountIbansTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\AssetAccountIbans */ diff --git a/tests/Unit/Import/Mapper/AssetAccountsTest.php b/tests/Unit/Import/Mapper/AssetAccountsTest.php index 357e3e9afd..abfdc6cea1 100644 --- a/tests/Unit/Import/Mapper/AssetAccountsTest.php +++ b/tests/Unit/Import/Mapper/AssetAccountsTest.php @@ -29,12 +29,23 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class AssetAccountsTest */ class AssetAccountsTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\AssetAccounts */ diff --git a/tests/Unit/Import/Mapper/BillsTest.php b/tests/Unit/Import/Mapper/BillsTest.php index f573db8fd0..205831d1aa 100644 --- a/tests/Unit/Import/Mapper/BillsTest.php +++ b/tests/Unit/Import/Mapper/BillsTest.php @@ -28,12 +28,23 @@ use FireflyIII\Models\Bill; use FireflyIII\Repositories\Bill\BillRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class BillsTest */ class BillsTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\Bills */ diff --git a/tests/Unit/Import/Mapper/BudgetsTest.php b/tests/Unit/Import/Mapper/BudgetsTest.php index 17cb4ed369..46c1575dbd 100644 --- a/tests/Unit/Import/Mapper/BudgetsTest.php +++ b/tests/Unit/Import/Mapper/BudgetsTest.php @@ -28,12 +28,22 @@ use FireflyIII\Models\Budget; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class BudgetsTest */ class BudgetsTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Import\Mapper\Budgets */ diff --git a/tests/Unit/Import/Mapper/CategoriesTest.php b/tests/Unit/Import/Mapper/CategoriesTest.php index 24cb705ba1..a344c651ec 100644 --- a/tests/Unit/Import/Mapper/CategoriesTest.php +++ b/tests/Unit/Import/Mapper/CategoriesTest.php @@ -28,12 +28,23 @@ use FireflyIII\Models\Category; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class CategoriesTest */ class CategoriesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\Categories */ diff --git a/tests/Unit/Import/Mapper/OpposingAccountIbansTest.php b/tests/Unit/Import/Mapper/OpposingAccountIbansTest.php index 1516711237..da788d29b1 100644 --- a/tests/Unit/Import/Mapper/OpposingAccountIbansTest.php +++ b/tests/Unit/Import/Mapper/OpposingAccountIbansTest.php @@ -29,12 +29,23 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class OpposingAccountIbansTest */ class OpposingAccountIbansTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\OpposingAccountIbans */ diff --git a/tests/Unit/Import/Mapper/OpposingAccountsTest.php b/tests/Unit/Import/Mapper/OpposingAccountsTest.php index b8bac5e5b1..597953b1d3 100644 --- a/tests/Unit/Import/Mapper/OpposingAccountsTest.php +++ b/tests/Unit/Import/Mapper/OpposingAccountsTest.php @@ -29,12 +29,23 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class OpposingAccountsTest */ class OpposingAccountsTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\OpposingAccounts */ diff --git a/tests/Unit/Import/Mapper/TagsTest.php b/tests/Unit/Import/Mapper/TagsTest.php index d8ee694e7e..e1bac8af62 100644 --- a/tests/Unit/Import/Mapper/TagsTest.php +++ b/tests/Unit/Import/Mapper/TagsTest.php @@ -28,12 +28,22 @@ use FireflyIII\Models\Tag; use FireflyIII\Repositories\Tag\TagRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; - +use Log; /** * Class TagsTest */ class TagsTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Mapper\Tags */ diff --git a/tests/Unit/Import/Mapper/TransactionCurrenciesTest.php b/tests/Unit/Import/Mapper/TransactionCurrenciesTest.php index b30ac8bd03..ee97c8dcbf 100644 --- a/tests/Unit/Import/Mapper/TransactionCurrenciesTest.php +++ b/tests/Unit/Import/Mapper/TransactionCurrenciesTest.php @@ -28,12 +28,22 @@ use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class TransactionCurrenciesTest */ class TransactionCurrenciesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Import\Mapper\TransactionCurrencies */ diff --git a/tests/Unit/Import/MapperPreProcess/TagsCommaTest.php b/tests/Unit/Import/MapperPreProcess/TagsCommaTest.php index 6a6fb226af..91caf61c78 100644 --- a/tests/Unit/Import/MapperPreProcess/TagsCommaTest.php +++ b/tests/Unit/Import/MapperPreProcess/TagsCommaTest.php @@ -25,12 +25,22 @@ namespace Tests\Unit\Import\MapperPreProcess; use FireflyIII\Import\MapperPreProcess\TagsComma; use Tests\TestCase; +use Log; /** * Class TagsCommaTest */ class TagsCommaTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * \FireflyIII\Import\MapperPreProcess\TagsComma diff --git a/tests/Unit/Import/MapperPreProcess/TagsSpaceTest.php b/tests/Unit/Import/MapperPreProcess/TagsSpaceTest.php index 3ae75d1268..ede246afc4 100644 --- a/tests/Unit/Import/MapperPreProcess/TagsSpaceTest.php +++ b/tests/Unit/Import/MapperPreProcess/TagsSpaceTest.php @@ -25,12 +25,22 @@ namespace Tests\Unit\Import\MapperPreProcess; use FireflyIII\Import\MapperPreProcess\TagsSpace; use Tests\TestCase; +use Log; /** * Class TagsSpaceTest */ class TagsSpaceTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * \FireflyIII\Import\MapperPreProcess\TagsSpace diff --git a/tests/Unit/Import/Prerequisites/BunqPrerequisitesTest.php b/tests/Unit/Import/Prerequisites/BunqPrerequisitesTest.php index b1d8e7344c..37907bb177 100644 --- a/tests/Unit/Import/Prerequisites/BunqPrerequisitesTest.php +++ b/tests/Unit/Import/Prerequisites/BunqPrerequisitesTest.php @@ -32,12 +32,23 @@ use Mockery; use Preferences; use Tests\Object\FakeApiContext; use Tests\TestCase; +use Log; /** * Class BunqPrerequisitesTest */ class BunqPrerequisitesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * Has no API key, has no external IP. * diff --git a/tests/Unit/Import/Prerequisites/FakePrerequisitesTest.php b/tests/Unit/Import/Prerequisites/FakePrerequisitesTest.php index 7aa2d9d289..6f9d04abc6 100644 --- a/tests/Unit/Import/Prerequisites/FakePrerequisitesTest.php +++ b/tests/Unit/Import/Prerequisites/FakePrerequisitesTest.php @@ -29,12 +29,22 @@ use FireflyIII\Models\Preference; use Mockery; use Preferences; use Tests\TestCase; +use Log; /** * Class FakePrerequisitesTest */ class FakePrerequisitesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * Bad API key length in preferences * diff --git a/tests/Unit/Import/Prerequisites/SpectrePrerequisitesTest.php b/tests/Unit/Import/Prerequisites/SpectrePrerequisitesTest.php index e9ea09cc72..e9da6da9ed 100644 --- a/tests/Unit/Import/Prerequisites/SpectrePrerequisitesTest.php +++ b/tests/Unit/Import/Prerequisites/SpectrePrerequisitesTest.php @@ -29,12 +29,22 @@ use FireflyIII\Models\Preference; use Mockery; use Preferences; use Tests\TestCase; - +use Log; /** * Class SpectrePrerequisitesTest */ class SpectrePrerequisitesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Prerequisites\SpectrePrerequisites */ diff --git a/tests/Unit/Import/Routine/BunqRoutineTest.php b/tests/Unit/Import/Routine/BunqRoutineTest.php index b384993c15..defe5916c0 100644 --- a/tests/Unit/Import/Routine/BunqRoutineTest.php +++ b/tests/Unit/Import/Routine/BunqRoutineTest.php @@ -32,12 +32,23 @@ use FireflyIII\Support\Import\Routine\Bunq\StageImportDataHandler; use FireflyIII\Support\Import\Routine\Bunq\StageNewHandler; use Mockery; use Tests\TestCase; +use Log; /** * Class BunqRoutineTest */ class BunqRoutineTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Routine\BunqRoutine */ diff --git a/tests/Unit/Import/Routine/FakeRoutineTest.php b/tests/Unit/Import/Routine/FakeRoutineTest.php index e1c87cb448..1249378d71 100644 --- a/tests/Unit/Import/Routine/FakeRoutineTest.php +++ b/tests/Unit/Import/Routine/FakeRoutineTest.php @@ -32,12 +32,22 @@ use FireflyIII\Support\Import\Routine\Fake\StageFinalHandler; use FireflyIII\Support\Import\Routine\Fake\StageNewHandler; use Mockery; use Tests\TestCase; +use Log; /** * Class FakeRoutineTest */ class FakeRoutineTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Import\Routine\FakeRoutine */ diff --git a/tests/Unit/Import/Routine/FileRoutineTest.php b/tests/Unit/Import/Routine/FileRoutineTest.php index 69e4dee94e..2bb001110a 100644 --- a/tests/Unit/Import/Routine/FileRoutineTest.php +++ b/tests/Unit/Import/Routine/FileRoutineTest.php @@ -31,12 +31,22 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\Routine\File\CSVProcessor; use Mockery; use Tests\TestCase; +use Log; /** * Class FileRoutineTest */ class FileRoutineTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Import\Routine\FileRoutine diff --git a/tests/Unit/Import/Routine/SpectreRoutineTest.php b/tests/Unit/Import/Routine/SpectreRoutineTest.php index 722f704d3c..cc133cde6d 100644 --- a/tests/Unit/Import/Routine/SpectreRoutineTest.php +++ b/tests/Unit/Import/Routine/SpectreRoutineTest.php @@ -33,12 +33,23 @@ use FireflyIII\Support\Import\Routine\Spectre\StageImportDataHandler; use FireflyIII\Support\Import\Routine\Spectre\StageNewHandler; use Mockery; use Tests\TestCase; +use Log; /** * Class SpectreRoutineTest */ class SpectreRoutineTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Routine\SpectreRoutine */ diff --git a/tests/Unit/Import/Specifics/AbnAmroDescriptionTest.php b/tests/Unit/Import/Specifics/AbnAmroDescriptionTest.php index 6d5f6e2cd4..38c06fdd5a 100644 --- a/tests/Unit/Import/Specifics/AbnAmroDescriptionTest.php +++ b/tests/Unit/Import/Specifics/AbnAmroDescriptionTest.php @@ -26,12 +26,23 @@ namespace Tests\Unit\Import\Specifics; use FireflyIII\Import\Specifics\AbnAmroDescription; use Tests\TestCase; +use Log; /** * Class AbnAmroDescriptionTest */ class AbnAmroDescriptionTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * Should return the exact same array. * diff --git a/tests/Unit/Import/Specifics/IngDescriptionTest.php b/tests/Unit/Import/Specifics/IngDescriptionTest.php index d068516ddf..9826ad8dc1 100644 --- a/tests/Unit/Import/Specifics/IngDescriptionTest.php +++ b/tests/Unit/Import/Specifics/IngDescriptionTest.php @@ -26,12 +26,23 @@ namespace Tests\Unit\Import\Specifics; use FireflyIII\Import\Specifics\IngDescription; use Tests\TestCase; +use Log; /** * Class IngDescriptionTest */ class IngDescriptionTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * Test changes to BA row. * diff --git a/tests/Unit/Import/Specifics/PresidentsChoiceTest.php b/tests/Unit/Import/Specifics/PresidentsChoiceTest.php index 09bcb96393..af34730c71 100644 --- a/tests/Unit/Import/Specifics/PresidentsChoiceTest.php +++ b/tests/Unit/Import/Specifics/PresidentsChoiceTest.php @@ -26,12 +26,22 @@ namespace Tests\Unit\Import\Specifics; use FireflyIII\Import\Specifics\PresidentsChoice; use Tests\TestCase; +use Log; /** * Class PresidentsChoiceTest */ class PresidentsChoiceTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Import\Specifics\PresidentsChoice diff --git a/tests/Unit/Import/Specifics/SnsDescriptionTest.php b/tests/Unit/Import/Specifics/SnsDescriptionTest.php index 30b985a920..c69e0ab1d3 100644 --- a/tests/Unit/Import/Specifics/SnsDescriptionTest.php +++ b/tests/Unit/Import/Specifics/SnsDescriptionTest.php @@ -26,12 +26,22 @@ namespace Tests\Unit\Import\Specifics; use FireflyIII\Import\Specifics\SnsDescription; use Tests\TestCase; - +use Log; /** * Class SnsDescriptionTest */ class SnsDescriptionTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\Import\Specifics\SnsDescription */ diff --git a/tests/Unit/Import/Storage/ImportArrayStorageTest.php b/tests/Unit/Import/Storage/ImportArrayStorageTest.php index c60dbe1b01..4e6491b7d4 100644 --- a/tests/Unit/Import/Storage/ImportArrayStorageTest.php +++ b/tests/Unit/Import/Storage/ImportArrayStorageTest.php @@ -38,7 +38,9 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; use FireflyIII\Repositories\Tag\TagRepositoryInterface; +use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Collection; +use Log; use Mockery; use Tests\TestCase; @@ -47,6 +49,15 @@ use Tests\TestCase; */ class ImportArrayStorageTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * Very basic storage routine. Doesn't call store() @@ -55,6 +66,10 @@ class ImportArrayStorageTest extends TestCase */ public function testBasic(): void { + // mock stuff + $repository = $this->mock(ImportJobRepositoryInterface::class); + $journalRepos = $this->mock(JournalRepositoryInterface::class); + $userRepos = $this->mock(UserRepositoryInterface::class); // make fake job $job = new ImportJob; $job->user()->associate($this->user()); @@ -67,9 +82,6 @@ class ImportArrayStorageTest extends TestCase $job->transactions = []; $job->save(); - // mock stuff - $repository = $this->mock(ImportJobRepositoryInterface::class); - $journalRepos = $this->mock(JournalRepositoryInterface::class); // mock calls: $repository->shouldReceive('setUser')->once(); @@ -84,6 +96,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreDoubleTransferWithRules(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // get a transfer: /** @var TransactionJournal $transfer */ $transfer = $this->user()->transactionJournals() @@ -173,6 +188,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreIsDouble(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // make fake job $transactions = [$this->singleWithdrawal(), $this->singleWithdrawal()]; $job = new ImportJob; @@ -235,6 +253,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreNothing(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // make fake job $job = new ImportJob; $job->user()->associate($this->user()); @@ -274,6 +295,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreNothingWithRules(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // make fake job $job = new ImportJob; $job->user()->associate($this->user()); @@ -316,6 +340,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreSingleWithNoRules(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // make fake job $job = new ImportJob; $job->user()->associate($this->user()); @@ -367,6 +394,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreSingleWithRules(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // make fake job $job = new ImportJob; $job->user()->associate($this->user()); @@ -423,6 +453,9 @@ class ImportArrayStorageTest extends TestCase */ public function testBasicStoreTransferWithRules(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('findNull')->once()->andReturn($this->user()); + // make fake job $job = new ImportJob; $job->user()->associate($this->user()); diff --git a/tests/Unit/Middleware/AuthenticateTest.php b/tests/Unit/Middleware/AuthenticateTest.php index 4a2c91fd38..d45412792b 100644 --- a/tests/Unit/Middleware/AuthenticateTest.php +++ b/tests/Unit/Middleware/AuthenticateTest.php @@ -39,7 +39,7 @@ class AuthenticateTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware('auth')->any( '/_test/authenticate', function () { return 'OK'; diff --git a/tests/Unit/Middleware/AuthenticateTwoFactorTest.php b/tests/Unit/Middleware/AuthenticateTwoFactorTest.php index 4e4912c4f2..1bb23b87ca 100644 --- a/tests/Unit/Middleware/AuthenticateTwoFactorTest.php +++ b/tests/Unit/Middleware/AuthenticateTwoFactorTest.php @@ -29,6 +29,7 @@ use Preferences; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class AuthenticateTwoFactorTest @@ -41,7 +42,7 @@ class AuthenticateTwoFactorTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(AuthenticateTwoFactor::class)->any( '/_test/authenticate', function () { return 'OK'; diff --git a/tests/Unit/Middleware/BinderTest.php b/tests/Unit/Middleware/BinderTest.php index 492e927bfd..93839dd69b 100644 --- a/tests/Unit/Middleware/BinderTest.php +++ b/tests/Unit/Middleware/BinderTest.php @@ -32,6 +32,7 @@ use Illuminate\Support\Collection; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class BinderTest @@ -51,6 +52,7 @@ class BinderTest extends TestCase return 'OK'; } ); + Log::info(sprintf('Now in %s.', \get_class($this))); $this->be($this->user()); $response = $this->get('/_test/binder/1'); diff --git a/tests/Unit/Middleware/IsAdminTest.php b/tests/Unit/Middleware/IsAdminTest.php index 15e591062d..81952bd719 100644 --- a/tests/Unit/Middleware/IsAdminTest.php +++ b/tests/Unit/Middleware/IsAdminTest.php @@ -24,9 +24,12 @@ declare(strict_types=1); namespace Tests\Unit\Middleware; use FireflyIII\Http\Middleware\IsAdmin; +use FireflyIII\Repositories\User\UserRepositoryInterface; +use Mockery; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class IsAdminTest @@ -39,12 +42,13 @@ class IsAdminTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(IsAdmin::class)->any( '/_test/is-admin', function () { return 'OK'; } ); + } /** @@ -52,6 +56,8 @@ class IsAdminTest extends TestCase */ public function testMiddleware(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $this->withoutExceptionHandling(); $response = $this->get('/_test/is-admin'); $this->assertEquals(Response::HTTP_FOUND, $response->getStatusCode()); @@ -63,6 +69,8 @@ class IsAdminTest extends TestCase */ public function testMiddlewareAjax(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $server = ['HTTP_X-Requested-With' => 'XMLHttpRequest']; $this->withoutExceptionHandling(); $response = $this->get('/_test/is-admin', $server); @@ -74,6 +82,9 @@ class IsAdminTest extends TestCase */ public function testMiddlewareNotOwner(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false); + $this->withoutExceptionHandling(); $this->be($this->emptyUser()); $response = $this->get('/_test/is-admin'); @@ -86,6 +97,9 @@ class IsAdminTest extends TestCase */ public function testMiddlewareOwner(): void { + $userRepos = $this->mock(UserRepositoryInterface::class); + $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true); + $this->be($this->user()); $this->withoutExceptionHandling(); $response = $this->get('/_test/is-admin'); diff --git a/tests/Unit/Middleware/IsDemoUserTest.php b/tests/Unit/Middleware/IsDemoUserTest.php index 9caeaaef7f..4bb1589a68 100644 --- a/tests/Unit/Middleware/IsDemoUserTest.php +++ b/tests/Unit/Middleware/IsDemoUserTest.php @@ -28,6 +28,7 @@ use FireflyIII\Http\Middleware\StartFireflySession; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class IsDemoUserTest @@ -40,7 +41,7 @@ class IsDemoUserTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware([StartFireflySession::class, IsDemoUser::class])->any( '/_test/is-demo', function () { return 'OK'; diff --git a/tests/Unit/Middleware/IsSandstormUserTest.php b/tests/Unit/Middleware/IsSandstormUserTest.php index 908a606212..231cbb5763 100644 --- a/tests/Unit/Middleware/IsSandstormUserTest.php +++ b/tests/Unit/Middleware/IsSandstormUserTest.php @@ -27,6 +27,7 @@ use FireflyIII\Http\Middleware\IsSandStormUser; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class IsSandstormUserTest @@ -39,7 +40,7 @@ class IsSandstormUserTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(IsSandStormUser::class)->any( '/_test/is-sandstorm', function () { return 'OK'; diff --git a/tests/Unit/Middleware/RangeTest.php b/tests/Unit/Middleware/RangeTest.php index 4d7131487e..aad165e761 100644 --- a/tests/Unit/Middleware/RangeTest.php +++ b/tests/Unit/Middleware/RangeTest.php @@ -29,6 +29,7 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class RangeTest @@ -41,7 +42,7 @@ class RangeTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(Range::class)->any( '/_test/range', function () { return view('test.test'); diff --git a/tests/Unit/Middleware/RedirectIf2FAAuthenticatedTest.php b/tests/Unit/Middleware/RedirectIf2FAAuthenticatedTest.php index 46f5701f9d..dde1d00f76 100644 --- a/tests/Unit/Middleware/RedirectIf2FAAuthenticatedTest.php +++ b/tests/Unit/Middleware/RedirectIf2FAAuthenticatedTest.php @@ -29,7 +29,7 @@ use Preferences; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; - +use Log; /** * Class RedirectIf2FAAuthenticatedTest */ @@ -41,7 +41,7 @@ class RedirectIf2FAAuthenticatedTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(RedirectIfTwoFactorAuthenticated::class)->any( '/_test/authenticate', function () { return 'OK'; diff --git a/tests/Unit/Middleware/RedirectIfAuthenticatedTest.php b/tests/Unit/Middleware/RedirectIfAuthenticatedTest.php index de208d2c30..149954899e 100644 --- a/tests/Unit/Middleware/RedirectIfAuthenticatedTest.php +++ b/tests/Unit/Middleware/RedirectIfAuthenticatedTest.php @@ -27,6 +27,7 @@ use FireflyIII\Http\Middleware\RedirectIfAuthenticated; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class RedirectIfAuthenticatedTest @@ -39,7 +40,7 @@ class RedirectIfAuthenticatedTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(RedirectIfAuthenticated::class)->any( '/_test/authenticate', function () { return 'OK'; diff --git a/tests/Unit/Middleware/SandstormTest.php b/tests/Unit/Middleware/SandstormTest.php index e37408f1e6..8342c744bd 100644 --- a/tests/Unit/Middleware/SandstormTest.php +++ b/tests/Unit/Middleware/SandstormTest.php @@ -29,6 +29,7 @@ use Mockery; use Route; use Symfony\Component\HttpFoundation\Response; use Tests\TestCase; +use Log; /** * Class RangeTest @@ -41,7 +42,7 @@ class SandstormTest extends TestCase public function setUp(): void { parent::setUp(); - + Log::info(sprintf('Now in %s.', \get_class($this))); Route::middleware(Sandstorm::class)->any( '/_test/sandstorm', function () { return view('test.test'); diff --git a/tests/Unit/Services/Internal/Destroy/AccountDestroyServiceTest.php b/tests/Unit/Services/Internal/Destroy/AccountDestroyServiceTest.php index e22adeee6d..c975a1281e 100644 --- a/tests/Unit/Services/Internal/Destroy/AccountDestroyServiceTest.php +++ b/tests/Unit/Services/Internal/Destroy/AccountDestroyServiceTest.php @@ -28,12 +28,21 @@ use FireflyIII\Models\Transaction; use FireflyIII\Services\Internal\Destroy\AccountDestroyService; use FireflyIII\Services\Internal\Destroy\JournalDestroyService; use Tests\TestCase; - +use Log; /** * Class AccountDestroyServiceTest */ class AccountDestroyServiceTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Services\Internal\Destroy\AccountDestroyService */ diff --git a/tests/Unit/Services/Internal/Update/AccountUpdateServiceTest.php b/tests/Unit/Services/Internal/Update/AccountUpdateServiceTest.php index 78d2873381..c3bd7ce287 100644 --- a/tests/Unit/Services/Internal/Update/AccountUpdateServiceTest.php +++ b/tests/Unit/Services/Internal/Update/AccountUpdateServiceTest.php @@ -32,12 +32,22 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Services\Internal\Destroy\JournalDestroyService; use FireflyIII\Services\Internal\Update\AccountUpdateService; use Tests\TestCase; +use Log; /** * Class AccountUpdateServiceTest */ class AccountUpdateServiceTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Services\Internal\Update\AccountUpdateService * @covers \FireflyIII\Services\Internal\Support\AccountServiceTrait diff --git a/tests/Unit/Services/Internal/Update/JournalUpdateServiceTest.php b/tests/Unit/Services/Internal/Update/JournalUpdateServiceTest.php index 6cfc2e057b..2978a1d218 100644 --- a/tests/Unit/Services/Internal/Update/JournalUpdateServiceTest.php +++ b/tests/Unit/Services/Internal/Update/JournalUpdateServiceTest.php @@ -34,12 +34,22 @@ use FireflyIII\Services\Internal\Update\JournalUpdateService; use FireflyIII\Services\Internal\Update\TransactionUpdateService; use Mockery; use Tests\TestCase; +use Log; /** * Class JournalUpdateServiceTest */ class JournalUpdateServiceTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Services\Internal\Update\JournalUpdateService * @covers \FireflyIII\Services\Internal\Support\JournalServiceTrait diff --git a/tests/Unit/Services/Internal/Update/TransactionUpdateServiceTest.php b/tests/Unit/Services/Internal/Update/TransactionUpdateServiceTest.php index ae20ba3a19..0c04e1f0df 100644 --- a/tests/Unit/Services/Internal/Update/TransactionUpdateServiceTest.php +++ b/tests/Unit/Services/Internal/Update/TransactionUpdateServiceTest.php @@ -30,12 +30,22 @@ use FireflyIII\Models\Transaction; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Services\Internal\Update\TransactionUpdateService; use Tests\TestCase; +use Log; /** * Class TransactionUpdateServiceTest */ class TransactionUpdateServiceTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Services\Internal\Update\TransactionUpdateService */ diff --git a/tests/Unit/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandlerTest.php index a17742f6ed..a216270f2f 100644 --- a/tests/Unit/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandlerTest.php @@ -37,12 +37,21 @@ use FireflyIII\Support\Import\JobConfiguration\Bunq\ChooseAccountsHandler; use Illuminate\Support\Collection; use Mockery; use Tests\TestCase; - +use Log; /** * Class ChooseAccountsHandlerTest */ class ChooseAccountsHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\JobConfiguration\Bunq\ChooseAccountsHandler */ diff --git a/tests/Unit/Support/Import/JobConfiguration/Bunq/NewBunqJobHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/Bunq/NewBunqJobHandlerTest.php index 4f3ccb354c..2c1eba6298 100644 --- a/tests/Unit/Support/Import/JobConfiguration/Bunq/NewBunqJobHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/Bunq/NewBunqJobHandlerTest.php @@ -28,12 +28,21 @@ use FireflyIII\Models\ImportJob; use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\JobConfiguration\Bunq\NewBunqJobHandler; use Tests\TestCase; +use Log; /** * Class NewBunqJobHandlerTest */ class NewBunqJobHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } /** * @covers \FireflyIII\Support\Import\JobConfiguration\Bunq\NewBunqJobHandler */ diff --git a/tests/Unit/Support/Import/JobConfiguration/File/ConfigureMappingHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/File/ConfigureMappingHandlerTest.php index a85ca2dda2..25e860575b 100644 --- a/tests/Unit/Support/Import/JobConfiguration/File/ConfigureMappingHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/File/ConfigureMappingHandlerTest.php @@ -35,6 +35,7 @@ use FireflyIII\Support\Import\JobConfiguration\File\ConfigureMappingHandler; use Illuminate\Support\Collection; use League\Csv\Exception; use League\Csv\Reader; +use Log; use Mockery; use Tests\TestCase; @@ -44,11 +45,22 @@ use Tests\TestCase; */ class ConfigureMappingHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\JobConfiguration\File\ConfigureMappingHandler */ public function testApplySpecifics(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapG' . random_int(1, 10000); @@ -84,6 +96,7 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testConfigureJob(): void { + // create fake input for class method: $input = [ 'mapping' => [ @@ -148,6 +161,8 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testDoColumnConfig(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapE' . random_int(1, 10000); @@ -211,7 +226,8 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testDoMapOfColumn(): void { - + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapC' . random_int(1, 10000); @@ -241,6 +257,7 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testGetNextData(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapH' . random_int(1, 10000); @@ -322,6 +339,8 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testGetPreProcessorName(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapD' . random_int(1, 10000); @@ -350,6 +369,7 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testGetReader(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapF' . random_int(1, 10000); @@ -398,6 +418,8 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testGetValuesForMapping(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); // create a reader to use in method. // 5 columns, of which #4 (index 3) is budget-id // 5 columns, of which #5 (index 4) is tags-space @@ -465,7 +487,8 @@ class ConfigureMappingHandlerTest extends TestCase */ public function testSanitizeColumnName(): void { - + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'mapB' . random_int(1, 10000); diff --git a/tests/Unit/Support/Import/JobConfiguration/File/ConfigureRolesHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/File/ConfigureRolesHandlerTest.php index 0810a2971d..60b8b9b568 100644 --- a/tests/Unit/Support/Import/JobConfiguration/File/ConfigureRolesHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/File/ConfigureRolesHandlerTest.php @@ -36,17 +36,30 @@ use Illuminate\Support\Collection; use League\Csv\Reader; use Mockery; use Tests\TestCase; +use Log; /** * Class ConfigureRolesHandlerTest */ class ConfigureRolesHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\JobConfiguration\File\ConfigureRolesHandler */ public function testConfigurationCompleteBasic(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + + $config = [ 'column-count' => 5, 'column-roles' => [ @@ -67,6 +80,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testConfigurationCompleteForeign(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $config = [ 'column-count' => 5, 'column-roles' => [ @@ -91,6 +106,7 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testConfigurationCompleteNoAmount(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); $config = [ 'column-count' => 5, 'column-roles' => [ @@ -115,6 +131,7 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testConfigureJob(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'role-B' . random_int(1, 10000); @@ -168,7 +185,7 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testGetExampleFromLine(): void { - + $importRepos = $this->mock(ImportJobRepositoryInterface::class); $lines = [ ['one', 'two', '', 'three'], ['four', 'five', '', 'six'], @@ -191,6 +208,11 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testGetExamplesFromFile(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $importRepos->shouldReceive('setUser')->once(); + $importRepos->shouldReceive('setConfiguration')->once() + ->withAnyArgs(); + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'role-x' . random_int(1, 10000); @@ -229,6 +251,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testGetHeadersHas(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + //$importRepos->shouldReceive('setUser')->once(); // create a reader to use in method. // 5 columns, of which #4 (index 3) is budget-id // 5 columns, of which #5 (index 4) is tags-space @@ -250,6 +274,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testGetHeadersNone(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + // create a reader to use in method. // 5 columns, of which #4 (index 3) is budget-id // 5 columns, of which #5 (index 4) is tags-space @@ -268,6 +294,7 @@ class ConfigureRolesHandlerTest extends TestCase public function testGetNextData(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'role-x' . random_int(1, 10000); @@ -338,6 +365,7 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testGetReader(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'role-x' . random_int(1, 10000); @@ -386,6 +414,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testIgnoreUnmappableColumns(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $config = [ 'column-count' => 5, 'column-roles' => [ @@ -429,6 +459,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testIsMappingNecessaryNo(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $config = [ 'column-do-mapping' => [false, false, false], ]; @@ -442,6 +474,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testIsMappingNecessaryYes(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $config = [ 'column-do-mapping' => [false, true, false, false], ]; @@ -455,6 +489,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testMakeExamplesUnique(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $lines = [ ['one', 'two', '', 'three'], ['four', 'five', '', 'six'], @@ -481,6 +517,8 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testProcessSpecifics(): void { + $importRepos = $this->mock(ImportJobRepositoryInterface::class); + $line = []; $config = [ 'specifics' => [ @@ -502,6 +540,7 @@ class ConfigureRolesHandlerTest extends TestCase */ public function testSaveColumCount(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'role-A' . random_int(1, 10000); diff --git a/tests/Unit/Support/Import/JobConfiguration/File/ConfigureUploadHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/File/ConfigureUploadHandlerTest.php index 442a0524b2..94987ccb8e 100644 --- a/tests/Unit/Support/Import/JobConfiguration/File/ConfigureUploadHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/File/ConfigureUploadHandlerTest.php @@ -30,12 +30,21 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\JobConfiguration\File\ConfigureUploadHandler; use Mockery; use Tests\TestCase; - +use Log; /** * Class ConfigureUploadHandlerTest */ class ConfigureUploadHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\JobConfiguration\File\ConfigureUploadHandler */ diff --git a/tests/Unit/Support/Import/JobConfiguration/File/NewFileJobHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/File/NewFileJobHandlerTest.php index 877e24e03e..c63d53ed08 100644 --- a/tests/Unit/Support/Import/JobConfiguration/File/NewFileJobHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/File/NewFileJobHandlerTest.php @@ -33,12 +33,21 @@ use FireflyIII\Support\Import\JobConfiguration\File\NewFileJobHandler; use Illuminate\Support\Collection; use Mockery; use Tests\TestCase; - +use Log; /** * Class NewFileJobHandlerTest */ class NewFileJobHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\JobConfiguration\File\NewFileJobHandler */ diff --git a/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandlerTest.php index e76be37a67..03f9122029 100644 --- a/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandlerTest.php @@ -40,12 +40,21 @@ use FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseAccountsHandler; use Illuminate\Support\Collection; use Mockery; use Tests\TestCase; +use Log; /** * Class ChooseAccountsHandlerTest */ class ChooseAccountsHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } /** * @covers \FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseAccountsHandler */ diff --git a/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseLoginHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseLoginHandlerTest.php index 92c8c9951c..a10b9a0912 100644 --- a/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseLoginHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/Spectre/ChooseLoginHandlerTest.php @@ -38,17 +38,28 @@ use FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseLoginHandler; use Mockery; use Preferences; use Tests\TestCase; +use Log; /** * Class ChooseLoginHandlerTest */ class ChooseLoginHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseLoginHandler */ public function testCCFalse(): void { + $job = new ImportJob; $job->user_id = $this->user()->id; $job->key = 'slh-A' . random_int(1, 10000); @@ -195,6 +206,8 @@ class ChooseLoginHandlerTest extends TestCase */ public function testGetNextData(): void { + $repository = $this->mock(ImportJobRepositoryInterface::class); + $repository->shouldReceive('setUser')->once(); // fake login: $holder = new Holder([]); $attempt = new Attempt( diff --git a/tests/Unit/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandlerTest.php b/tests/Unit/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandlerTest.php index 91ef0280d8..91067c5c59 100644 --- a/tests/Unit/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandlerTest.php +++ b/tests/Unit/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandlerTest.php @@ -35,12 +35,21 @@ use FireflyIII\Support\Import\JobConfiguration\Spectre\DoAuthenticateHandler; use Mockery; use Preferences; use Tests\TestCase; - +use Log; /** * Class DoAuthenticateHandlerTest */ class DoAuthenticateHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * No token in config, but grab it from users preferences. * diff --git a/tests/Unit/Support/Import/Placeholder/ImportTransactionTest.php b/tests/Unit/Support/Import/Placeholder/ImportTransactionTest.php index df6f72cb34..b18481a6b2 100644 --- a/tests/Unit/Support/Import/Placeholder/ImportTransactionTest.php +++ b/tests/Unit/Support/Import/Placeholder/ImportTransactionTest.php @@ -28,12 +28,21 @@ use FireflyIII\Exceptions\FireflyException; use FireflyIII\Support\Import\Placeholder\ColumnValue; use FireflyIII\Support\Import\Placeholder\ImportTransaction; use Tests\TestCase; - +use Log; /** * Class ImportTransactionTest */ class ImportTransactionTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * Test what happens when you set the account-id using a ColumnValue. * Since this field can be mapped. Test with both the mapped and unmapped variant. diff --git a/tests/Unit/Support/Import/Routine/Bunq/StageImportDataHandlerTest.php b/tests/Unit/Support/Import/Routine/Bunq/StageImportDataHandlerTest.php index 91b7efa50f..c8f0a8b694 100644 --- a/tests/Unit/Support/Import/Routine/Bunq/StageImportDataHandlerTest.php +++ b/tests/Unit/Support/Import/Routine/Bunq/StageImportDataHandlerTest.php @@ -44,12 +44,22 @@ use FireflyIII\Support\Import\Routine\Bunq\StageImportDataHandler; use Mockery; use Preferences; use Tests\TestCase; +use Log; /** * Class StageImportDataHandlerTest */ class StageImportDataHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\Bunq\StageImportDataHandler */ diff --git a/tests/Unit/Support/Import/Routine/Bunq/StageNewHandlerTest.php b/tests/Unit/Support/Import/Routine/Bunq/StageNewHandlerTest.php index 2fe4812a70..c0febf16e6 100644 --- a/tests/Unit/Support/Import/Routine/Bunq/StageNewHandlerTest.php +++ b/tests/Unit/Support/Import/Routine/Bunq/StageNewHandlerTest.php @@ -44,12 +44,22 @@ use Mockery; use Preferences; use Tests\Object\FakeApiContext; use Tests\TestCase; +use Log; /** * Class StageNewHandlerTest */ class StageNewHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\Bunq\StageNewHandler */ diff --git a/tests/Unit/Support/Import/Routine/File/AssetAccountMapperTest.php b/tests/Unit/Support/Import/Routine/File/AssetAccountMapperTest.php index 46d6f38cca..0672cd77b1 100644 --- a/tests/Unit/Support/Import/Routine/File/AssetAccountMapperTest.php +++ b/tests/Unit/Support/Import/Routine/File/AssetAccountMapperTest.php @@ -29,12 +29,22 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Support\Import\Routine\File\AssetAccountMapper; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class AssetAccountMapperTest */ class AssetAccountMapperTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * Should return with the given $default account and not the $bad one. * diff --git a/tests/Unit/Support/Import/Routine/File/CSVProcessorTest.php b/tests/Unit/Support/Import/Routine/File/CSVProcessorTest.php index a76ef73a5a..9f4ae815f0 100644 --- a/tests/Unit/Support/Import/Routine/File/CSVProcessorTest.php +++ b/tests/Unit/Support/Import/Routine/File/CSVProcessorTest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace Tests\Unit\Support\Import\Routine\File; +use Log; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\ImportJob; use FireflyIII\Support\Import\Routine\File\CSVProcessor; @@ -41,6 +42,14 @@ use Tests\TestCase; */ class CSVProcessorTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } /** * @covers \FireflyIII\Support\Import\Routine\File\CSVProcessor */ diff --git a/tests/Unit/Support/Import/Routine/File/CurrencyMapperTest.php b/tests/Unit/Support/Import/Routine/File/CurrencyMapperTest.php index 3a516cbc5f..c512b1b30f 100644 --- a/tests/Unit/Support/Import/Routine/File/CurrencyMapperTest.php +++ b/tests/Unit/Support/Import/Routine/File/CurrencyMapperTest.php @@ -28,12 +28,22 @@ use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Support\Import\Routine\File\CurrencyMapper; use Tests\TestCase; +use Log; /** * Class CurrencyMapperTest */ class CurrencyMapperTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\File\CurrencyMapper */ diff --git a/tests/Unit/Support/Import/Routine/File/ImportableConverterTest.php b/tests/Unit/Support/Import/Routine/File/ImportableConverterTest.php index 09c856a573..b43659a3aa 100644 --- a/tests/Unit/Support/Import/Routine/File/ImportableConverterTest.php +++ b/tests/Unit/Support/Import/Routine/File/ImportableConverterTest.php @@ -27,12 +27,14 @@ namespace Tests\Unit\Support\Import\Routine\File; use Amount; use Carbon\Carbon; use FireflyIII\Models\TransactionCurrency; +use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\Placeholder\ImportTransaction; use FireflyIII\Support\Import\Routine\File\AssetAccountMapper; use FireflyIII\Support\Import\Routine\File\CurrencyMapper; use FireflyIII\Support\Import\Routine\File\ImportableConverter; use FireflyIII\Support\Import\Routine\File\OpposingAccountMapper; +use Log; use Mockery; use Tests\TestCase; @@ -46,6 +48,15 @@ use Tests\TestCase; */ class ImportableConverterTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * Basic test. Should match a withdrawal. Amount is negative. * @@ -71,6 +82,9 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + + $accountRepos->shouldReceive('setUser')->once(); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -128,6 +142,10 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); + $accountRepos->shouldReceive('getMetaValue') + ->withArgs([Mockery::any(), 'currency_id'])->atLeast()->once()->andReturn('1'); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -149,7 +167,7 @@ class ImportableConverterTest extends TestCase $currencyMapper->shouldReceive('map')->once()->withArgs([null, ['name' => null, 'code' => null, 'symbol' => null]])->andReturn(null); $currencyMapper->shouldReceive('map')->once()->withArgs([null, ['code' => null]])->andReturn(null); - $currencyMapper->shouldReceive('map')->times(1)->withArgs([$euro->id, []])->andReturn($euro); + $currencyMapper->shouldReceive('map')->times(2)->withArgs([$euro->id, []])->andReturn($euro); $converter = new ImportableConverter; @@ -189,6 +207,8 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -251,6 +271,8 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -308,6 +330,8 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -379,6 +403,8 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -444,6 +470,8 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); // get default currency $euro = TransactionCurrency::whereCode('EUR')->first(); @@ -492,7 +520,10 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); - $euro = TransactionCurrency::whereCode('EUR')->first(); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); + + $euro = TransactionCurrency::whereCode('EUR')->first(); Amount::shouldReceive('getDefaultCurrencyByUser')->andReturn($euro)->once(); $repository->shouldReceive('setUser')->once(); $assetMapper->shouldReceive('setUser')->once(); @@ -522,7 +553,10 @@ class ImportableConverterTest extends TestCase $assetMapper = $this->mock(AssetAccountMapper::class); $opposingMapper = $this->mock(OpposingAccountMapper::class); $currencyMapper = $this->mock(CurrencyMapper::class); - $euro = TransactionCurrency::whereCode('EUR')->first(); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $accountRepos->shouldReceive('setUser')->once(); + + $euro = TransactionCurrency::whereCode('EUR')->first(); Amount::shouldReceive('getDefaultCurrencyByUser')->andReturn($euro)->once(); $repository->shouldReceive('setUser')->once(); $assetMapper->shouldReceive('setUser')->once(); diff --git a/tests/Unit/Support/Import/Routine/File/ImportableCreatorTest.php b/tests/Unit/Support/Import/Routine/File/ImportableCreatorTest.php index 0c893def63..896f4126bd 100644 --- a/tests/Unit/Support/Import/Routine/File/ImportableCreatorTest.php +++ b/tests/Unit/Support/Import/Routine/File/ImportableCreatorTest.php @@ -28,12 +28,22 @@ use FireflyIII\Support\Import\Placeholder\ColumnValue; use FireflyIII\Support\Import\Placeholder\ImportTransaction; use FireflyIII\Support\Import\Routine\File\ImportableCreator; use Tests\TestCase; +use Log; /** * Class ImportableCreatorTest */ class ImportableCreatorTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\File\ImportableCreator */ diff --git a/tests/Unit/Support/Import/Routine/File/LineReaderTest.php b/tests/Unit/Support/Import/Routine/File/LineReaderTest.php index 4c85b2ce22..b1031667c2 100644 --- a/tests/Unit/Support/Import/Routine/File/LineReaderTest.php +++ b/tests/Unit/Support/Import/Routine/File/LineReaderTest.php @@ -32,12 +32,22 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\Routine\File\LineReader; use Illuminate\Support\Collection; use Tests\TestCase; +use Log; /** * Class LineReaderTest */ class LineReaderTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\File\LineReader */ diff --git a/tests/Unit/Support/Import/Routine/File/MappedValuesValidatorTest.php b/tests/Unit/Support/Import/Routine/File/MappedValuesValidatorTest.php index cb85933a87..a49a83b930 100644 --- a/tests/Unit/Support/Import/Routine/File/MappedValuesValidatorTest.php +++ b/tests/Unit/Support/Import/Routine/File/MappedValuesValidatorTest.php @@ -35,12 +35,22 @@ use FireflyIII\Support\Import\Routine\File\MappedValuesValidator; use Illuminate\Support\Collection; use stdClass; use Tests\TestCase; +use Log; /** * Class MappedValuesValidatorTest */ class MappedValuesValidatorTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\File\MappedValuesValidator */ diff --git a/tests/Unit/Support/Import/Routine/File/MappingConvergerTest.php b/tests/Unit/Support/Import/Routine/File/MappingConvergerTest.php index fef417afad..44c006dc42 100644 --- a/tests/Unit/Support/Import/Routine/File/MappingConvergerTest.php +++ b/tests/Unit/Support/Import/Routine/File/MappingConvergerTest.php @@ -26,20 +26,31 @@ namespace Tests\Unit\Support\Import\Routine\File; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\ImportJob; +use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Support\Import\Routine\File\MappingConverger; use Tests\TestCase; - +use Log; /** * Class MappingConvergerTest */ class MappingConvergerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\Support\Import\Routine\File\MappingConverger */ public function testConverge(): void { - + $jobRepos = $this->mock(ImportJobRepositoryInterface::class); + $jobRepos->shouldReceive('setUser')->once(); // configuration $config = [ 'column-roles' => [ diff --git a/tests/Unit/Support/Import/Routine/File/OpposingAccountMapperTest.php b/tests/Unit/Support/Import/Routine/File/OpposingAccountMapperTest.php index adde7738a9..89ef6993dd 100644 --- a/tests/Unit/Support/Import/Routine/File/OpposingAccountMapperTest.php +++ b/tests/Unit/Support/Import/Routine/File/OpposingAccountMapperTest.php @@ -29,12 +29,22 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Support\Import\Routine\File\OpposingAccountMapper; use Tests\TestCase; +use Log; /** * Class OpposingAccountMapperTest */ class OpposingAccountMapperTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * * Should return account with given ID (which is of correct type). diff --git a/tests/Unit/Support/Import/Routine/Spectre/StageAuthenticatedHandlerTest.php b/tests/Unit/Support/Import/Routine/Spectre/StageAuthenticatedHandlerTest.php index 0226738703..aff87197bc 100644 --- a/tests/Unit/Support/Import/Routine/Spectre/StageAuthenticatedHandlerTest.php +++ b/tests/Unit/Support/Import/Routine/Spectre/StageAuthenticatedHandlerTest.php @@ -38,12 +38,22 @@ use FireflyIII\Support\Import\Routine\Spectre\StageAuthenticatedHandler; use Mockery; use Preferences; use Tests\TestCase; +use Log; /** * Class StageAuthenticatedHandlerTest */ class StageAuthenticatedHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * Already have logins in configuration. * diff --git a/tests/Unit/Support/Import/Routine/Spectre/StageImportDataHandlerTest.php b/tests/Unit/Support/Import/Routine/Spectre/StageImportDataHandlerTest.php index 5d87619c1b..c6bb3e6708 100644 --- a/tests/Unit/Support/Import/Routine/Spectre/StageImportDataHandlerTest.php +++ b/tests/Unit/Support/Import/Routine/Spectre/StageImportDataHandlerTest.php @@ -36,12 +36,21 @@ use FireflyIII\Support\Import\Routine\File\OpposingAccountMapper; use FireflyIII\Support\Import\Routine\Spectre\StageImportDataHandler; use Mockery; use Tests\TestCase; +use Log; /** * Class StageImportDataHandlerTest */ class StageImportDataHandlerTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } /** * @covers \FireflyIII\Support\Import\Routine\Spectre\StageImportDataHandler */ diff --git a/tests/Unit/Support/Import/Routine/Spectre/StageNewHandlerTest.php b/tests/Unit/Support/Import/Routine/Spectre/StageNewHandlerTest.php index 9b32655e60..5c4eeccb72 100644 --- a/tests/Unit/Support/Import/Routine/Spectre/StageNewHandlerTest.php +++ b/tests/Unit/Support/Import/Routine/Spectre/StageNewHandlerTest.php @@ -39,13 +39,21 @@ use FireflyIII\Support\Import\Routine\Spectre\StageNewHandler; use Mockery; use Preferences; use Tests\TestCase; +use Log; /** * Class StageNewHandlerTest */ class StageNewHandlerTest extends TestCase { - + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } // todo run() with zero logins and an existing customer (must be retrieved from Spectre). // todo run() with one login and an existing customer (must be retrieved from Spectre). diff --git a/tests/Unit/TransactionRules/Actions/AddTagTest.php b/tests/Unit/TransactionRules/Actions/AddTagTest.php index 87a4aaf0f4..2d20d420ad 100644 --- a/tests/Unit/TransactionRules/Actions/AddTagTest.php +++ b/tests/Unit/TransactionRules/Actions/AddTagTest.php @@ -28,6 +28,7 @@ use FireflyIII\Models\Tag; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\AddTag; use Tests\TestCase; +use Log; /** * Class AddTagTest @@ -35,7 +36,15 @@ use Tests\TestCase; class AddTagTest extends TestCase { /** - * @covers \FireflyIII\TransactionRules\Actions\AddTag + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\TransactionRules\Actions\AddTag */ public function testActExistingTag(): void diff --git a/tests/Unit/TransactionRules/Actions/AppendDescriptionTest.php b/tests/Unit/TransactionRules/Actions/AppendDescriptionTest.php index 2145f0fb71..ea202216fd 100644 --- a/tests/Unit/TransactionRules/Actions/AppendDescriptionTest.php +++ b/tests/Unit/TransactionRules/Actions/AppendDescriptionTest.php @@ -26,6 +26,7 @@ use FireflyIII\Models\RuleAction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\AppendDescription; use Tests\TestCase; +use Log; /** * Class AppendDescriptionTest @@ -33,7 +34,15 @@ use Tests\TestCase; class AppendDescriptionTest extends TestCase { /** - * @covers \FireflyIII\TransactionRules\Actions\AppendDescription + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + + /** * @covers \FireflyIII\TransactionRules\Actions\AppendDescription */ public function testActExistingTag(): void diff --git a/tests/Unit/TransactionRules/Actions/AppendNotesTest.php b/tests/Unit/TransactionRules/Actions/AppendNotesTest.php index bbc2715dac..e249482c48 100644 --- a/tests/Unit/TransactionRules/Actions/AppendNotesTest.php +++ b/tests/Unit/TransactionRules/Actions/AppendNotesTest.php @@ -27,12 +27,21 @@ use FireflyIII\Models\RuleAction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\AppendNotes; use Tests\TestCase; - +use Log; /** * Class AppendNotesTest */ class AppendNotesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\TransactionRules\Actions\AppendNotes */ @@ -62,7 +71,6 @@ class AppendNotesTest extends TestCase } /** - * @covers \FireflyIII\TransactionRules\Actions\AppendNotes() * @covers \FireflyIII\TransactionRules\Actions\AppendNotes */ public function testActNewNote(): void diff --git a/tests/Unit/TransactionRules/Actions/ClearBudgetTest.php b/tests/Unit/TransactionRules/Actions/ClearBudgetTest.php index 2904dacfa4..18d48994a5 100644 --- a/tests/Unit/TransactionRules/Actions/ClearBudgetTest.php +++ b/tests/Unit/TransactionRules/Actions/ClearBudgetTest.php @@ -27,12 +27,22 @@ use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\ClearBudget; use Tests\TestCase; +use Log; /** * Class ClearBudgetTest */ class ClearBudgetTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\TransactionRules\Actions\ClearBudget */ diff --git a/tests/Unit/TransactionRules/Actions/ClearCategoryTest.php b/tests/Unit/TransactionRules/Actions/ClearCategoryTest.php index f81bd069e3..f99768aac9 100644 --- a/tests/Unit/TransactionRules/Actions/ClearCategoryTest.php +++ b/tests/Unit/TransactionRules/Actions/ClearCategoryTest.php @@ -27,12 +27,21 @@ use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\ClearCategory; use Tests\TestCase; - +use Log; /** * Class ClearCategoryTest */ class ClearCategoryTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\TransactionRules\Actions\ClearCategory */ diff --git a/tests/Unit/TransactionRules/Actions/ClearNotesTest.php b/tests/Unit/TransactionRules/Actions/ClearNotesTest.php index 051b9858e3..76662cb604 100644 --- a/tests/Unit/TransactionRules/Actions/ClearNotesTest.php +++ b/tests/Unit/TransactionRules/Actions/ClearNotesTest.php @@ -28,12 +28,23 @@ use FireflyIII\Models\RuleAction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\ClearNotes; use Tests\TestCase; +use Log; + /** * Class ClearNotesTest */ class ClearNotesTest extends TestCase { + /** + * + */ + public function setUp(): void + { + parent::setUp(); + Log::info(sprintf('Now in %s.', \get_class($this))); + } + /** * @covers \FireflyIII\TransactionRules\Actions\ClearNotes */ diff --git a/tests/Unit/TransactionRules/Triggers/FromAccountStartsTest.php b/tests/Unit/TransactionRules/Triggers/FromAccountStartsTest.php index dc8c423d30..9df6c30fec 100644 --- a/tests/Unit/TransactionRules/Triggers/FromAccountStartsTest.php +++ b/tests/Unit/TransactionRules/Triggers/FromAccountStartsTest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Triggers; use FireflyIII\Models\TransactionJournal; +use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\TransactionRules\Triggers\FromAccountStarts; use Illuminate\Support\Collection; @@ -40,7 +41,7 @@ class FromAccountStartsTest extends TestCase public function setUp(): void { parent::setUp(); - Log::debug(sprintf('Now in %s.', \get_class($this))); + Log::info(sprintf('Now in %s.', \get_class($this))); } /** @@ -49,7 +50,7 @@ class FromAccountStartsTest extends TestCase public function testTriggered(): void { $repository = $this->mock(JournalRepositoryInterface::class); - + $accountRepos = $this->mock(AccountRepositoryInterface::class); /** @var TransactionJournal $journal */ $journal = $this->user()->transactionJournals()->inRandomOrder()->first(); $account = $this->user()->accounts()->inRandomOrder()->first(); @@ -67,6 +68,7 @@ class FromAccountStartsTest extends TestCase public function testTriggeredLonger(): void { $repository = $this->mock(JournalRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); /** @var TransactionJournal $journal */ $journal = $this->user()->transactionJournals()->inRandomOrder()->first(); @@ -85,6 +87,7 @@ class FromAccountStartsTest extends TestCase public function testTriggeredNot(): void { $repository = $this->mock(JournalRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); /** @var TransactionJournal $journal */ $journal = $this->user()->transactionJournals()->inRandomOrder()->first(); @@ -103,6 +106,8 @@ class FromAccountStartsTest extends TestCase public function testWillMatchEverythingEmpty(): void { $repository = $this->mock(JournalRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $value = ''; $result = FromAccountStarts::willMatchEverything($value); $this->assertTrue($result); @@ -114,6 +119,8 @@ class FromAccountStartsTest extends TestCase public function testWillMatchEverythingNotNull(): void { $repository = $this->mock(JournalRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $value = 'x'; $result = FromAccountStarts::willMatchEverything($value); $this->assertFalse($result); @@ -125,6 +132,8 @@ class FromAccountStartsTest extends TestCase public function testWillMatchEverythingNull(): void { $repository = $this->mock(JournalRepositoryInterface::class); + $accountRepos = $this->mock(AccountRepositoryInterface::class); + $value = null; $result = FromAccountStarts::willMatchEverything($value); $this->assertTrue($result); diff --git a/tests/Unit/TransactionRules/Triggers/HasAttachmentTest.php b/tests/Unit/TransactionRules/Triggers/HasAttachmentTest.php index 5d03a50776..3cadd5ebd1 100644 --- a/tests/Unit/TransactionRules/Triggers/HasAttachmentTest.php +++ b/tests/Unit/TransactionRules/Triggers/HasAttachmentTest.php @@ -22,9 +22,10 @@ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Triggers; +use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Triggers\HasAttachment; use Tests\TestCase; - +use DB; /** * Class HasAttachmentTest */ @@ -52,7 +53,14 @@ class HasAttachmentTest extends TestCase public function testTriggeredFalse(): void { $withdrawal = $this->getRandomWithdrawal(); + $attachment = $withdrawal->user->attachments()->first(); + $withdrawal->attachments()->save($attachment); + DB::table('attachments') + ->where('attachable_type', TransactionJournal::class) + ->where('attachable_id', $withdrawal->id)->delete(); + + $withdrawal->attachments()->saveMany([]); $this->assertEquals(0, $withdrawal->attachments()->count()); $trigger = HasAttachment::makeFromStrings('1', false);