#include #include "utils/UniquePtrMockWrapper.hpp" #include "mocks/SessionMock.hpp" #include "mocks/db/UserDatabaseMock.hpp" #include "mocks/widgets/MainPageMock.hpp" #include #include #include ///TODO change to mocked version #include #include using namespace testing; class DefaultAuthPageTest : public Test { public: DefaultAuthPageTest() : app(env) { createApp(); } void createApp() { auto services = eedb::auth::Services(); // auto session = std::make_unique< eedb::SessionMock >(); // const eedb::auth::Services & baseAuth, // std::unique_ptr< Wt::Auth::AbstractUserDatabase > userDatabase, // Wt::Auth::Login & session // EXPECT_CALL(*session, login()).WillOnce(ReturnRef(login)); // homePage = std::make_unique< eedb::Home >(*session); // sut = dynamic_cast< eedb::Home * >(homePage.get()); // EXPECT_CALL(*session, enviroment()).WillOnce(ReturnRef(env)); // sut = new eedb::AuthPageImpl(services, session.login()); sut = std::make_unique< eedb::DefaultAuthPage >(services, std::move(usedDatabaseMock), login); } protected: Wt::Test::WTestEnvironment env; Wt::Auth::Login login; std::unique_ptr usedDatabaseMock; std::function< void() > strongLoginCallback; Wt::WApplication app; std::unique_ptr< eedb::DefaultAuthPage > sut; }; TEST_F(DefaultAuthPageTest, createApp) { auto menu = dynamic_cast< Wt::WPopupMenu * >(app.findWidget("home.navigation.session_menu_popup")); auto menuItem = dynamic_cast< Wt::WMenuItem * >(app.findWidget("home.navigation.session_menu.logout")); // menu->triggered().emit(menuItem); } // TEST(a, b) { // auto session = std::make_unique< eedb::SessionMock >(); // EXPECT_CALL(*session, enviroment()).WillOnce(ReturnRef(env)); // sut = new eedb::EEDB(std::move(session), [this]() { return authPageFactory(); }, [this]() { return homePageFactory(); }); // // Wt::WPushButton * b = dynamic_cast< Wt::WPushButton * >(app.findWidget("startbutton")); // // Wt::WProgressBar * bar = dynamic_cast< Wt::WProgressBar * >(app.findWidget("progress")); // // b->clicked().emit(Wt::WMouseEvent()); // // environment.endRequest(); // // for(;;) { // // boost::this_thread::sleep(boost::posix_time::milliseconds(50)); // // std::cerr << "Progress: " << bar->value() << std::endl; // // if(b->isEnabled()) // // break; // // } // // environment.startRequest(); //}