This directory contains three levels of tests:
- Should target functions and classes directly
- Server should not be started
- No external calls depenedencies should be hit
| async renameFolder (folderId: number, name: string): Promise<Folder> { | |
| // this is an additional DB call in case we want to do app validation | |
| // could be avioded if we run update opration directly | |
| // in most cases it's impact is negligible (but depends on our overall usecase DB throughput) | |
| const folder = await this.dbRepo.findOneBy({ | |
| id: folderId | |
| }) | |
| // app layer validation - it's going to work in most of the cases | |
| if (folder.name === name) { |
| #!/bin/bash | |
| # report file path is passed as first argument to this script like | |
| # parse-report.sh /my-path/serenity.txt | |
| REPORT_FILE_PATH="$1" | |
| # gets the value for passed tests, to get the others just change the pattern /Passed:/ to desired one | |
| # e.g awk '/Ignored:/ {print $NF}' | |
| PASSED_COUNT=$(cat "${REPORT_FILE_PATH}" | awk '/Passed:/ {print $NF}') | |
| FAILED_COUNT=$(cat "${REPORT_FILE_PATH}" | awk '/Failed:/ {print $NF}') |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.