@qavajs/steps-files
Step library to work with file system
Installation
npm install @qavajs/steps-files
Configuration
export default {
 require: [
 'node_modules/@qavajs/steps-files/index.js'
 ],
 // add fileTimeout property in case you need to customize built-in interval and timeout
 fileTimeout: {
 interval: 1000,
 timeout: 1000
 }
}
Wait Steps
I expect file matching {string} regexp appears in {string}
Verify that file matching regexp appears in directory
| param | type | description | example | 
|---|---|---|---|
| file | string | file name regex to wait | f.+.txt | 
| dir | string | directory path to wait | ./yourFolder | 
When I expect file matching 'f.+\.txt' regexp appears in './test-e2e/folder'
When I expect file matching '$fileRegexp' regexp appears in '$folder'
I expect {string} file appears
Verify that file appears in provided location
| param | type | description | example | 
|---|---|---|---|
| file | string | file path to wait | ./yourFolder/file.txt | 
When I expect './test-e2e/folder/file.txt' file appears
When I expect '$filePath' file appears
Validation Steps
I expect {string} text file content {validation} {string}
Verify that text file content satisfy validation
| param | type | description | example | 
|---|---|---|---|
| file | string | file path | ./yourFolder/file.txt | 
| validationType | string | file path | to be equal, to contain | 
| expectedValue | string | expected value | text, $value | 
When I expect './folder/file.txt' text file content to be equal 'file content'
When I expect '$filePath' text file content to contain '$content'
Memory Steps
I save {string} file content as {string}
Save file content to memory as buffer
| param | type | description | example | 
|---|---|---|---|
| file | string | file path | ./yourFolder/file.jpeg | 
| memoryKey | string | memory key | fileContent, value | 
When I save './folder/file.txt' file content as 'fileContent'
When I save '$filePath' file content as 'fileContent'
I save {string} text file content as {string}
Save file content to memory as text (utf-8)
| param | type | description | example | 
|---|---|---|---|
| file | string | file path | ./yourFolder/file.txt | 
| memoryKey | string | memory key | textContent, value | 
When I save './folder/file.txt' text file content as 'fileContent'
When I save '$filePath' text file as 'fileContent'
I save {string} Excel file content as {string}
Save file content to memory as Excel object (https://www.npmjs.com/package/xlsx)
| param | type | description | example | 
|---|---|---|---|
| file | string | file path | ./yourFolder/file.xlsx | 
| memoryKey | string | memory key | excelContent, value | 
When I save './folder/file.txt' Excel file content as 'fileContent'
When I save '$filePath' Excel file as 'fileContent'
# if you use @qavajs/steps-memory package
Then I expect '$excelFile.Sheets.SheetName.A1.v' to be equal 'expectedValueOfCell'
I save {string} pdf file content as {string}
Save file content to memory as pdf object with following properties:
| property | type | description | 
|---|---|---|
| textMultiLine | string | text of pdf in multiline format | 
| textSingleLine | string | text of pdf in single-line format | 
| metadata | Object | pdf metadata | 
| param | type | description | example | 
|---|---|---|---|
| file | string | file path | ./yourFolder/file.txt | 
| memoryKey | string | memory key | textContent, value | 
When I save './folder/file.pdf' pdf file content as 'pdfContent'
When I save '$filePath' pdf file content as 'pdfContent'
# if you use @qavajs/steps-memory package
Then I expect '$pdfContent.textMultiLine' to be equal 'expectedPdfContent'
Then I expect '$pdfContent.textSingleLine' to be equal 'expectedPdfContent'
I save {string} Word file content as {string}
Save file content to memory as word object with following properties:
| property | type | description | 
|---|---|---|
| textMultiLine | string | text of word document in multiline format | 
| textSingleLine | string | text of word document in single-line format | 
| param | type | description | example | 
|---|---|---|---|
| file | string | file path or buffer | ./yourFolder/file.docx | 
| memoryKey | string | memory key | wordContent, value | 
When I save './folder/file.docx' Word file content as 'wordContent'
When I save '$filePath' Word file content as 'wordContent'
When I save '$fileBuffer' Word file content as 'wordContent'
# if you use @qavajs/steps-memory package
Then I expect '$wordContent.textMultiLine' to be equal 'expectedPdfContent'
Then I expect '$wordContent.textSingleLine' to be equal 'expectedPdfContent'
I save {string} csv file content as {string}
Save file content to memory as csv object. First row will is considered as header.
| param | type | description | example | 
|---|---|---|---|
| file | string | file path or buffer | ./yourFolder/file.csv | 
| memoryKey | string | memory key | csvContent, value | 
When I save './folder/file.csv' csv file content as 'csvContent'
When I save '$filePath' csv file as 'csvContent'
# if you use @qavajs/steps-memory package
Then I expect '$csvContent[0].columnName' to be equal 'expectedValue'