Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix 1058, 1060, 1062 and improve code coverage in use_files.R from 0 to 100% #1059

Merged
merged 6 commits into from
Aug 8, 2023

Conversation

ilyaZar
Copy link
Contributor

@ilyaZar ilyaZar commented Jul 5, 2023

Fix #1058
Fix #1060
Fix #1062

The testing strategy is to:

  1. generate template files in inst/utils
  2. make the use_external_XXX_files() function family download these templates (from the Github repo) and compare their content to a hard-coded result
  3. make the use_internal_XXX_files() function family copy these files internally (from inst/utils) and compare their content to the same hard-coded result

To-Do/ Note keeping

  • template files generated
  • use_external_XXX_files(): download these templates, check correctness via readLines()
  • use_external_XXX_files(): go through corner cases to make coverage 100% for these functions
  • use_internal_XXX_files(): copy internally these templates, check correctness via readLines()
  • use_internal_XXX_files(): go through corner cases to make coverage 100% for these functions

Important

Eventually one needs to get rid of the links to the external files in https://github.com/ilyaZar/golem/tree/fix-1058/inst/utils . Currently these links are necessary because otherwise there is no access to the external files to check if the download works properly.

However, if this PR gets merged and the template-testing files are available (inside the branch where the merge happens), one can change the external links to point to the respective branch under the https://github.com/ThinkR-open/golem/ repository directly.

So the tests will always work from then onwards, without links to external sources. The link changes should be added via a follow up PR.

- add some dummy files to the inst/utils/ directory

- for later: add tests that download exactly from that directory

Refs: ThinkR-open#1058
@ilyaZar ilyaZar changed the title tests: add dummy files for use_{external,internal}_XXX_files() testing Improve code coverage in use_files.R from 0 to 100% Jul 5, 2023
- fix typo in testfile_template_html
- use styler::style_file(..., style = grkstyle::grk_style_transformer)
@ilyaZar ilyaZar force-pushed the fix-1058 branch 2 times, most recently from 71f341a to 281de4e Compare July 5, 2023 11:02
- the order needs a change at some places: first set a default value when name argument is missing
    - only then call check_name_length() to avoid errors of the type:
    "argument "name" is missing, with no default"
- also, to avoid RStudio and other IDEs linting a missing argument, provide a default value "NULL" for argument  'name'

Refs: ThinkR-open#1060
@ilyaZar ilyaZar changed the title Improve code coverage in use_files.R from 0 to 100% Fix 160 and improve code coverage in use_files.R from 0 to 100% Jul 5, 2023
@ilyaZar ilyaZar changed the title Fix 160 and improve code coverage in use_files.R from 0 to 100% Fix 1060 and improve code coverage in use_files.R from 0 to 100% Jul 5, 2023
- instead of throwing an error, return 'FALSE' is passed and cat_dir_necessary() prints an informative message to the user (with the same effect i.e. not creating a directory)
- this behavior is a bit more userfriendly and also allows for a code coverage of 100%; the latter is not possible to implement since tests are run non-interactively
@ilyaZar ilyaZar changed the title Fix 1060 and improve code coverage in use_files.R from 0 to 100% Fix 1058, 1060, 1062 and improve code coverage in use_files.R from 0 to 100% Jul 5, 2023
@VincentGuyader VincentGuyader changed the base branch from dev to dev_1059 August 8, 2023 16:28
@VincentGuyader VincentGuyader merged commit 6d9bb1c into ThinkR-open:dev_1059 Aug 8, 2023
5 checks passed
VincentGuyader added a commit that referenced this pull request Aug 8, 2023
* Fix 1058, 1060, 1062 and improve code coverage in `use_files.R` from 0 to 100% (#1059)

* tests: add dummy files for use_{external,internal}_XXX_files() testing

- add some dummy files to the inst/utils/ directory

- for later: add tests that download exactly from that directory

Refs: #1058

* tests: add testing for external-funcs standard cases

* tests: add testing for internal-funcs standard cases

- fix typo in testfile_template_html
- use styler::style_file(..., style = grkstyle::grk_style_transformer)

* fix: set default value for argument name before using it

- the order needs a change at some places: first set a default value when name argument is missing
    - only then call check_name_length() to avoid errors of the type:
    "argument "name" is missing, with no default"
- also, to avoid RStudio and other IDEs linting a missing argument, provide a default value "NULL" for argument  'name'

Refs: #1060

* feat: improve error handling and allow codecovr. to be 100%

- instead of throwing an error, return 'FALSE' is passed and cat_dir_necessary() prints an informative message to the user (with the same effect i.e. not creating a directory)
- this behavior is a bit more userfriendly and also allows for a code coverage of 100%; the latter is not possible to implement since tests are run non-interactively

* tests: add corner cases for tests to make covr. 100%

* chore bump coverage

---------

Co-authored-by: Ilya Zarubin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants