aboutsummaryrefslogtreecommitdiff
path: root/libs/bsapacker/tests/ModDtoFactoryFacts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/bsapacker/tests/ModDtoFactoryFacts.cpp')
-rw-r--r--libs/bsapacker/tests/ModDtoFactoryFacts.cpp53
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());
+ }
+}