diff options
Diffstat (limited to 'libs/bsapacker/tests/ModDtoFactoryFacts.cpp')
| -rw-r--r-- | libs/bsapacker/tests/ModDtoFactoryFacts.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libs/bsapacker/tests/ModDtoFactoryFacts.cpp b/libs/bsapacker/tests/ModDtoFactoryFacts.cpp new file mode 100644 index 0000000..ae9a9f7 --- /dev/null +++ b/libs/bsapacker/tests/ModDtoFactoryFacts.cpp @@ -0,0 +1,53 @@ +#include "gtest/gtest.h" +#include "gmock/gmock.h" + +#include <bsapacker/ModDtoFactory.h> +#include "MockModContext.h" +#include "MockPackerDialog.h" + +using namespace BsaPacker; +using ::testing::NaggyMock; +using ::testing::Return; + +namespace BsaPackerTests +{ + class ModDtoFactoryFacts : public ::testing::Test + { + protected: + void SetUp() override { + naggyMockModContext = new NaggyMock<MockModContext>(); + naggyMockPackerDialog = new NaggyMock<MockPackerDialog>(); + } + + void TearDown() override { + delete naggyMockModContext; + delete naggyMockPackerDialog; + } + + NaggyMock<MockModContext>* naggyMockModContext; + NaggyMock<MockPackerDialog>* naggyMockPackerDialog; + }; + + TEST_F(ModDtoFactoryFacts, Ctor_Always_Constructs) + { + EXPECT_NO_THROW(ModDtoFactory( + naggyMockModContext, + naggyMockPackerDialog)); + } + + TEST_F(ModDtoFactoryFacts, Create_WhenGameIsNewVegas_ReturnsNewVegasIdInDto) + { + // Arrange + auto sut = ModDtoFactory( + naggyMockModContext, + naggyMockPackerDialog); + ON_CALL(*naggyMockModContext, GetNexusId()) + .WillByDefault(Return(1)); + ON_CALL(*naggyMockPackerDialog, Exec()) + .WillByDefault(Return(QDialog::DialogCode::Accepted)); + + auto result = sut.Create(); + + EXPECT_EQ(1, result->NexusId()); + } +} |
