#pragma once
#include <gmock/gmock.h>

#include <eedb/widgets/AuthPage.hpp>

namespace eedb {
class AuthPageMock final : public AuthPage {
  public:
    AuthPageMock() {}

  public:
    MOCK_METHOD1(attachTo, void(Wt::WContainerWidget * parent));
    MOCK_METHOD0(detach, void());

    MOCK_METHOD1(registerNeedVerification, void(std::function< void() > f));
    MOCK_METHOD1(registerOnUserWeakLogin, void(std::function< void() > f));
    MOCK_METHOD1(registerOnUserStrongLogin, void(std::function< void() > f));
    MOCK_METHOD1(registerOnUserLogout, void(std::function< void() > f));

    MOCK_METHOD0(processEnvironment, void());
};
}
