diff options
| author | Mel <einebeere@gmail.com> | 2021-10-09 00:42:28 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2021-10-09 00:42:28 +0200 |
| commit | dbe8c3b6cd10d2cd960ae3cd346e86a6fb1b7c68 (patch) | |
| tree | f143fbb49f65a15fb0c9f8233476837142b034a4 /src/actions | |
| parent | fad317349557bee1055d81d7444f99619247815c (diff) | |
| download | ka-dbe8c3b6cd10d2cd960ae3cd346e86a6fb1b7c68.tar.zst ka-dbe8c3b6cd10d2cd960ae3cd346e86a6fb1b7c68.zip | |
Re-implement FsMock as a fake in-memory filesystem.
Diffstat (limited to 'src/actions')
| -rw-r--r-- | src/actions/create.rs | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/actions/create.rs b/src/actions/create.rs index 184e249..bc7f7b0 100644 --- a/src/actions/create.rs +++ b/src/actions/create.rs @@ -21,113 +21,3 @@ pub fn create(command_options: ActionOptions, fs: &impl Fs, timestamp: u64) -> R Ok(()) } - -#[cfg(test)] -mod tests { - use std::{path::Path, vec}; - - use crate::{ - actions::{create, ActionOptions}, - diff::ContentChange, - filesystem::mock::{EntryMock, ExpectedCall as Call, ExpectedCallVariant as Type, FsMock}, - history::{ - FileChange, FileChangeVariant, FileHistory, RepositoryChange, RepositoryHistory, - }, - }; - - #[test] - fn create_empty() { - let now = 0xC0FFEE; - let fs_mock = FsMock::new(); - let options = ActionOptions::from_path("."); - - let pwd = Path::new("."); - let working_file = Path::new("./test"); - let history_file = Path::new("./.ka/files/test"); - - let ka = Path::new("./.ka"); - let ka_files = Path::new("./.ka/files"); - let ka_index = Path::new("./.ka/index"); - - let empty_index = RepositoryHistory::default().encode().unwrap(); - let expected_index = { - let mut history = RepositoryHistory::default(); - history.add_change(RepositoryChange { - affected_files: vec![working_file.to_path_buf()], - timestamp: now, - }); - history.cursor = 1; - history.encode().unwrap() - }; - - let expected_file_history = { - let mut history = FileHistory::default(); - let change = ContentChange::Inserted { - at: 0, - new_content: vec![1, 2, 3], - }; - history.add_change(FileChange { - change_index: 1, - variant: FileChangeVariant::Updated(vec![change]), - }); - history.encode().unwrap() - }; - - fs_mock.set_expected_calls(vec![ - // Create calls - Call::new(ka, Type::PathExists(false)), - Call::new(ka, Type::CreateDirectory), - Call::new(ka_files, Type::CreateDirectory), - Call::new(ka_index, Type::CreateFile), - Call::new( - ka_index, - Type::WriteToFile { - expected: empty_index.clone(), - }, - ), - // Update calls - Call::new(ka_index, Type::OpenWritableFile), - Call::new( - ka_index, - Type::ReadFile { - returned: empty_index, - }, - ), - Call::new( - pwd, - Type::ReadDirectory { - returned: vec![ - EntryMock::new(working_file, false), - EntryMock::new(ka, true), - ], - }, - ), - Call::new(ka_files, Type::ReadDirectory { returned: vec![] }), - Call::new(history_file, Type::PathExists(false)), - Call::new(working_file, Type::OpenReadableFile), - Call::new( - working_file, - Type::ReadFile { - returned: vec![1, 2, 3], - }, - ), - Call::new(history_file, Type::CreateFile), - Call::new( - history_file, - Type::WriteToFile { - expected: expected_file_history, - }, - ), - Call::new( - ka_index, - Type::WriteToFile { - expected: expected_index, - }, - ), - ]); - - create(options, &fs_mock, now).expect("Action failed."); - - fs_mock.assert_calls(); - } -} |
