summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-01-13 20:11:13 +0100
committerCarl Hetherington <cth@carlh.net>2025-01-13 20:11:13 +0100
commit8cae2aff2a9089f8557e7b66b50f5035d272201f (patch)
tree159ec04b90884d9c0d3b594b475b02f5711cb650 /test
parentb405639641e1e2cecba5d5ce1e2cdc4554755650 (diff)
Fix failure to update cinema screen information (#2944).
Diffstat (limited to 'test')
-rw-r--r--test/cinema_list_test.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/cinema_list_test.cc b/test/cinema_list_test.cc
index 46c9d5195..c19b88315 100644
--- a/test/cinema_list_test.cc
+++ b/test/cinema_list_test.cc
@@ -182,6 +182,37 @@ BOOST_AUTO_TEST_CASE(add_screen_test)
}
+BOOST_AUTO_TEST_CASE(update_screen_test)
+{
+ auto const db = setup("update_screen_test");
+
+ CinemaList cinemas(db);
+ auto const cinema_id = cinemas.add_cinema({"Name", { "foo@bar.com" }, "", dcp::UTCOffset()});
+
+ auto screen = dcpomatic::Screen(
+ "Screen 1",
+ "Smells of popcorn",
+ dcp::Certificate(dcp::file_to_string("test/data/cert.pem")),
+ string("test/data/cert.pem"),
+ vector<TrustedDevice>{}
+ );
+
+ auto const screen_id = cinemas.add_screen(cinema_id, screen);
+
+ screen.name = "Screen 1 updated";
+ screen.notes = "Smells of popcorn and hope";
+ cinemas.update_screen(cinema_id, screen_id, screen);
+
+ auto check = cinemas.screens(cinema_id);
+ BOOST_REQUIRE_EQUAL(check.size(), 1U);
+ BOOST_CHECK(check[0].first == screen_id);
+ BOOST_CHECK_EQUAL(check[0].second.name, "Screen 1 updated");
+ BOOST_CHECK_EQUAL(check[0].second.notes, "Smells of popcorn and hope");
+ BOOST_CHECK(check[0].second.recipient == dcp::Certificate(dcp::file_to_string("test/data/cert.pem")));
+ BOOST_CHECK(check[0].second.recipient_file == string("test/data/cert.pem"));
+}
+
+
BOOST_AUTO_TEST_CASE(cinemas_list_copy_from_xml_test)
{
ConfigRestorer cr("build/test/cinemas_list_copy_config");