84 lines
2.7 KiB
C++
84 lines
2.7 KiB
C++
#include <gmock/gmock.h>
|
|
|
|
#include "utils/UniquePtrMockWrapper.hpp"
|
|
|
|
#include "mocks/SessionMock.hpp"
|
|
#include "mocks/db/UserDatabaseMock.hpp"
|
|
#include "mocks/widgets/MainPageMock.hpp"
|
|
|
|
#include <Wt/Test/WTestEnvironment.h>
|
|
#include <Wt/WApplication.h>
|
|
#include <Wt/WPopupMenu.h>
|
|
|
|
///TODO change to mocked version
|
|
#include <eedb/auth/Services.hpp>
|
|
|
|
#include <eedb/widgets/DefaultAuthPage.hpp>
|
|
|
|
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<AbstracUserDatabaseMock> 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();
|
|
//}
|