~aleteoryx/muditaos

ref: 1e70bd11e011c0159cc27b3f2d2590cd58a8bcdf muditaos/module-db/tests/EventsTable_tests.cpp -rw-r--r-- 3.6 KiB
1e70bd11 — Tomas Rogala [EGD-33307] Add unit test, functionality fix 5 years ago
                                                                                
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
//
// Created by tomasz on 23.07.2020.
//

//#include "vfs.hpp"
//
//#include <catch2/catch.hpp>
//
//#include "Database/Database.hpp"
//#include "Databases/EventsDB.hpp"
//
//#include "Tables/SettingsTable.hpp"
//
//#include <algorithm>
//
//#include <cstdint>
//#include <cstdio>
//#include <cstring>
//
// TEST_CASE("Events Table tests")
//{
//    Database::initialize();
//
//    vfs.remove(EventsDB::GetDBName());
//
//    EventsDB eventsdb;
//    REQUIRE(eventsdb.isInitialized());
//
//    EventsTableRow testRow1 = {
//        {.ID = 0},
//        .title "tytul",
//        .description = "opis",
//        .date_from   = 2007242323,
//        .date_till   = 2007262323,
//        .reminder    = 0,
//        .repeat      = 0,
//        .time_zone   = 0,
//
//    };
//
//    // add 5 elements into table
//    REQUIRE(eventsdb.events.add(testRow1));
//    REQUIRE(eventsdb.events.add(testRow1));
//    REQUIRE(eventsdb.events.add(testRow1));
//    REQUIRE(eventsdb.events.add(testRow1));
//    REQUIRE(eventsdb.events.add(testRow1));
//
//    // Table should have 5 elements
//    REQUIRE(eventsdb.events.count() == 5);
//
//    // update existing element in table
//    testRow1.ID    = 5;
//    testRow1.title = "updated Test Events message ";
//    REQUIRE(eventsdb.events.update(testRow1));
//
//    // Get table row using valid ID & check if it was updated
//    auto events = eventsdb.events.getById(5);
//    REQUIRE(events.title == testRow1.title);
//
//    // Get table row using invalid ID(should return empty eventsdb.eventsRow)
//    auto eventsFailed = eventsdb.events.getById(100);
//    REQUIRE(eventsFailed.title == "");
//
//    // Get table row using invalid ID(should return empty eventsdb.eventsRow)
//    auto eventsFailed = eventsdb.events.getById(-1);
//    REQUIRE(eventsFailed.title == "");
//
//    // Get table rows using valid offset/limit parameters
//    auto retOffsetLimit = eventsdb.events.getLimitOffset(0, 5);
//    REQUIRE(retOffsetLimit.size() == 5);
//
//    // Get table rows using valid offset/limit parameters and specific field's ID
//    REQUIRE(eventsdb.events.getLimitOffsetByField(0, 4, EventsTableFields::Date, "0").size() == 4);
//
//    // Get table rows using invalid limit parameters(should return 4 elements instead of 100)
//    auto retOffsetLimitBigger = eventsdb.events.getLimitOffset(0, 100);
//    REQUIRE(retOffsetLimitBigger.size() == 4);
//
//    // Get table rows using invalid offset/limit parameters(should return empty object)
//    auto retOffsetLimitFailed = eventsdb.events.getLimitOffset(5, 4);
//    REQUIRE(retOffsetLimitFailed.size() == 0);
//
//    REQUIRE(eventsdb.events.removeById(2));
//
//    // All records should fit in this date time period
//    auto retFiltered = selectByDatePeriod(2007242323, 2401251353);
//    REQUIRE(retOffsetLimitBigger.size() == 4);
//
//    // Should return empty vector
//    auto retFiltered = selectByDatePeriod(2007242323, 2401251353);
//    REQUIRE(retOffsetLimitBigger.size() == 0);
//
//    // Table should have now 4 elements
//    REQUIRE(eventsdb.events.count() == 4);
//
//    // Get table row using invalid ID(should return empty eventsdb.eventsRow)
//    auto eventsFailed = eventsdb.events.getById(5);
//    REQUIRE(eventsFailed.title == "");
//
//    // Remove non existing element
//    REQUIRE(eventsdb.events.removeById(100));
//
//    // Remove all elements from table
//    REQUIRE(eventsdb.events.removeById(1));
//    REQUIRE(eventsdb.events.removeById(3));
//    REQUIRE(eventsdb.events.removeById(4));
//    REQUIRE(eventsdb.events.removeById(5));
//
//    // Table should be empty now
//    REQUIRE(eventsdb.events.count() == 0);
//
//    Database::deinitialize();
//}