mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-01 17:03:19 +00:00
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
/*
|
|
* Mirai. Copyright (C) 2024 Vyn
|
|
* This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only)
|
|
* The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt
|
|
*/
|
|
|
|
#include "core/BaseFileSource.h"
|
|
#include "core/Mirai.h"
|
|
#include "core/StdFileSource.h"
|
|
#include "core/TaskItem.h"
|
|
#include "core/TodoMd.h"
|
|
#include <catch2/catch_test_macros.hpp>
|
|
#include <memory>
|
|
|
|
TEST_CASE("Saving data")
|
|
{
|
|
SECTION("Saving using file resource")
|
|
{
|
|
{
|
|
mirai::Mirai mirai;
|
|
auto fileResource = std::make_unique<mirai::StdFileSource>(
|
|
mirai::BaseFileSourceConstructor{.name = "Testing", .path = "testing.md"}
|
|
);
|
|
mirai.loadResource(std::move(fileResource));
|
|
|
|
auto task = mirai::TodoMdFormat::stringToTask(
|
|
"- [X] 08:00-10:00 > This is a test -- #mirai", "2024-04-19"
|
|
);
|
|
mirai.getResources()[0]->addTask(task);
|
|
mirai.save();
|
|
}
|
|
|
|
{
|
|
mirai::Mirai mirai;
|
|
auto fileResource = std::make_unique<mirai::StdFileSource>(
|
|
mirai::BaseFileSourceConstructor{.name = "Testing", .path = "testing.md"}
|
|
);
|
|
mirai.loadResource(std::move(fileResource));
|
|
|
|
const auto &resources = mirai.getResources();
|
|
REQUIRE(resources.size() == 1);
|
|
REQUIRE(resources[0]->getName() == "Testing");
|
|
REQUIRE(resources[0]->getTasks().size() == 1);
|
|
REQUIRE(resources[0]->getTasks().at(0)->getText() == "This is a test");
|
|
REQUIRE(resources[0]->getTasks().at(0)->getDate() == "2024-04-19");
|
|
}
|
|
}
|
|
}
|