summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/CMakeLists.txt1
-rw-r--r--app/tests/widgets/participant_row.cpp30
2 files changed, 31 insertions, 0 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 1074038..4f024a4 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -67,6 +67,7 @@ install(FILES
# Tests
add_executable("app-tests"
+ "tests/widgets/participant_row.cpp"
"tests/windows/main.cpp"
"tests/windows/participant_editor.cpp"
)
diff --git a/app/tests/widgets/participant_row.cpp b/app/tests/widgets/participant_row.cpp
new file mode 100644
index 0000000..0e91ad7
--- /dev/null
+++ b/app/tests/widgets/participant_row.cpp
@@ -0,0 +1,30 @@
+#include "turns/app/widgets/participant_row.hpp"
+
+#include "turns/domain/participant.hpp"
+#include "turns/lang/messages.hpp"
+
+#include <catch2/catch_test_macros.hpp>
+#include <catch2/generators/catch_generators.hpp>
+
+#include <algorithm>
+#include <string>
+
+#include <gtkmm/widget.h>
+
+namespace turns::app::widgets::tests
+{
+
+ TEST_CASE("A freshly constructed participant row")
+ {
+ SECTION("can be created without a participant")
+ {
+ REQUIRE(Gtk::make_managed<participant_row>(Glib::RefPtr<domain::participant>{}));
+ }
+
+ SECTION("can be created with a participant")
+ {
+ REQUIRE(Gtk::make_managed<participant_row>(domain::participant::create("Tazmyla Fireforge", 13)));
+ }
+ }
+
+} // namespace turns::app::widgets::tests \ No newline at end of file