SVCS - English Documentation
Loading...
Searching...
No Matches
InitCommandIntegrationTest.hxx
Go to the documentation of this file.
1
17
18#pragma once
19
23
24#include <gtest/gtest.h>
25
41namespace svcs::test::cli::utils {
42
43using svcs::services::Event;
44using svcs::core::RepositoryManager;
47
65class InitCommandIntegrationTest : public ::testing::Test {
66protected:
74 std::shared_ptr<MockSubject> mockEventBus;
75
83 std::shared_ptr<RepositoryManager> repoManager;
84
86
92 std::unique_ptr<InitCommand> command;
93
101 std::filesystem::path testDir;
102
114 void SetUp() override;
115
125 void TearDown() override;
126};
127
128}
Declaration of the InitCommand class.
Declaration of the RepositoryManager class, managing all repository-level file operations.
Implements the "init" command for the Version Control System (VCS).
Definition InitCommand.hxx:42
A mock implementation of ISubject for testing event-driven components.
Definition MockSubject.hxx:43
Test fixture for InitCommand integration tests.
Definition InitCommandIntegrationTest.hxx:45
std::shared_ptr< RepositoryManager > repoManager
Real RepositoryManager instance under test.
Definition InitCommandIntegrationTest.hxx:57
void TearDown() override
Tears down the test environment.
Definition InitCommandIntegrationTest.cxx:18
std::shared_ptr< MockSubject > mockEventBus
Mock event bus for capturing system notifications.
Definition InitCommandIntegrationTest.hxx:51
void SetUp() override
Sets up the test environment.
Definition InitCommandIntegrationTest.cxx:24
std::filesystem::path testDir
Path to the temporary directory created for the test.
Definition InitCommandIntegrationTest.hxx:69
std::unique_ptr< InitCommand > command
InitCommand instance under test.
Definition InitCommandIntegrationTest.hxx:63
Mock implementation of the ISubject interface for unit testing purposes.
Utility classes and test fixtures for CLI command testing.
Definition ClearCommandTest.cxx:17