#include #include #include #include using namespace std; const nlohmann::json torrent = { {"hash", "12a"}, {"paused", false}, {"seeding", false}, {"state", 0}, {"priority", 0}, {"name", "Arch"} }; SCENARIO("We are running a GET /session/torrents resource") { auto torrent_session = TestSession(); auto response = std::make_shared(); auto request = std::make_shared(); GIVEN("the server is not working properly") { AND_WHEN("we recive a request") { tr::session::torrents::get(torrent_session, response, request); THEN("the server should reply with service unavailable") { CommonResponse::service_unavailable(response); } } } GIVEN("the server is working properly") { torrent_session.valid = true; WHEN("we recive a valid request") { GIVEN("we have no torrents") { THEN("the server should reply with an empty array") { tr::session::torrents::get(torrent_session,response,request); CommonResponse::ok(response, {{"torrents", nlohmann::json::array()}}); } } GIVEN("we have at least one torrent"){ auto t_torrent=TestTorrent(); torrent_session.get_torrents().emplace_back(t_torrent); THEN("the server should reply with an array of torrents"){ tr::session::torrents::get(torrent_session,response,request); CommonResponse::ok(response, {{"torrents", {torrent}}}); } } } } }