aboutsummaryrefslogtreecommitdiff
path: root/src/data_mock.hpp
blob: 2740165a2f374dfbcff0435e71941b56cd76e336 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

#include <vector>
#include <string>
#include <optional>

#include <gmock/gmock.h>
#include <mw/error.hpp>

#include "data.hpp"

class DataSourceMock : public DataSourceInterface
{
public:
    ~DataSourceMock() override = default;

    MOCK_METHOD(mw::E<int64_t>, getSchemaVersion, (), (const override));
    MOCK_METHOD(mw::E<std::optional<User>>, userByOpenIDUID,
                (const std::string& uid), (const override));
    MOCK_METHOD(mw::E<int64_t>, addUser, (User&& u), (const override));
    MOCK_METHOD(mw::E<std::optional<User>>, userByID, (const int64_t),
                (const override));
    MOCK_METHOD(mw::E<std::optional<User>>, userByName,
                (const std::string& name), (const override));
    MOCK_METHOD(mw::E<std::optional<LinkItem>>, itemByID, (int64_t id),
                (const override));
    MOCK_METHOD(mw::E<std::vector<LinkItem>>, itemsByParent, (int64_t parent),
                (const override));
    MOCK_METHOD(mw::E<std::vector<LinkItem>>, itemsTopLevelByUser,
                (int64_t user_id), (const override));
    MOCK_METHOD(mw::E<int64_t>, addLink, (LinkItem&& link), (const override));

protected:
    mw::E<void> setSchemaVersion([[maybe_unused]] int64_t v) const override
    {
        return {};
    }
};