View Source Uploadex.Testing (Uploadex v3.1.0)
This module simplifies testing and assertions involving Uploadex.
Usage in Tests
The most convenient way to use Uploadex.Testing is to use the module:
use Uploadex.TestingThat will define all the helper functions you'll need to make assertions.
Some examples of how to use the functions
# Asserting that 2 files were stored
assert_stored_files_count(2)
# Asserting the filenames of the stored files
assert_stored_files(["file1.pdf", "file2.pdf"])
# Asserting the filenames of the stored files ignoring the order
assert_stored_files(["file2.pdf", "file1.pdf"], ignore_order: true)
# Asserting that no file was stored
refute_stored_files()
# Getting all stored files
["file1.pdf", "file2.pdf"] == get_stored_files()
# Asserting that 1 files was deleted
assert_deleted_files_count(1)
# Asserting the filenames of the deleted files
assert_deleted(["file3.pdf", "file4.pdf", "file5.pdf"])
# Asserting the filenames of the deleted files ignoring the order
assert_deleted_files(["file4.pdf", "file5.pdf", "file3.pdf"], ignore_order: true)
# Asserting that no file was deleted
refute_deleted_files()
# Getting all deleted files
["file3.pdf", "file4.pdf", "file5.pdf"] == get_deleted_files()If you need a more low level API, you can directly use the Uploadex.TestStorage functions.
Summary
Functions
Imports all functions from Uploadex.Testing
and defines a setup callback to start the Uploadex.TestStorage.
Asserts that all the files in expected_files were deleted
in the exact order that they are passed in the list.
Asserts that the given expected_count number of files was deleted.
Asserts that all the files in expected_files were stored
in the exact order that they are passed in the list.
Asserts that the given expected_count number of files was stored.
Returns all the deleted files.
Returns the options used in the Uploadex.TestStorage.
Returns all the stored files.
Asserts that no file was deleted.
Asserts that no file was stored.
Starts the Uploadex.TestStorage.
Functions
Imports all functions from Uploadex.Testing
and defines a setup callback to start the Uploadex.TestStorage.
@spec assert_deleted_files( expected_files :: list(), opts :: [{:ignoring_order, boolean()}] ) :: true
Asserts that all the files in expected_files were deleted
in the exact order that they are passed in the list.
Options
ignoring_order: iftrue, ignores the order of the files when asserting (defaults tofalse)
@spec assert_deleted_files_count(expected_count :: integer()) :: true
Asserts that the given expected_count number of files was deleted.
@spec assert_stored_files( expected_files :: list(), opts :: [{:ignoring_order, boolean()}] ) :: true
Asserts that all the files in expected_files were stored
in the exact order that they are passed in the list.
Options
ignoring_order: iftrue, ignores the order of the files when asserting (defaults tofalse)
@spec assert_stored_files_count(expected_count :: integer()) :: true
Asserts that the given expected_count number of files was stored.
@spec get_deleted_files() :: list()
Returns all the deleted files.
It's the same as calling Uploadex.TestStorage.get_deleted/0.
@spec get_storage_opts() :: keyword()
Returns the options used in the Uploadex.TestStorage.
It's the same as calling Uploadex.TestStorage.get_opts/0.
@spec get_stored_files() :: list()
Returns all the stored files.
It's the same as calling Uploadex.TestStorage.get_stored/0.
@spec refute_deleted_files() :: true
Asserts that no file was deleted.
@spec refute_stored_files() :: true
Asserts that no file was stored.
@spec start_test_storage(context :: map()) :: :ok
Starts the Uploadex.TestStorage.
After importing it, you can use as a ExUnit setup callback:
import Uploadex.Testing
setup :start_test_storage