29 lines
754 B
C++
29 lines
754 B
C++
#include <gtest/gtest.h>
|
|
#include <QByteArray>
|
|
#include <QJsonArray>
|
|
#include <QJsonDocument>
|
|
#include <QJsonObject>
|
|
|
|
#include "dto/NavDto.hpp"
|
|
|
|
using namespace geopro::data;
|
|
|
|
namespace {
|
|
QJsonArray arrOf(const char* json) {
|
|
return QJsonDocument::fromJson(QByteArray(json)).array();
|
|
}
|
|
} // namespace
|
|
|
|
TEST(NavDto, ParseWorkspacesMapsFieldsAndCurrentFlag) {
|
|
const auto arr = arrOf(R"([
|
|
{"id":"t1","name":"个人空间","ownerType":1,"isCurTenant":1},
|
|
{"id":"t2","name":"企业A","ownerType":2,"isCurTenant":0}
|
|
])");
|
|
const auto ws = dto::parseWorkspaces(arr);
|
|
ASSERT_EQ(ws.size(), 2u);
|
|
EXPECT_EQ(ws[0].id, "t1");
|
|
EXPECT_EQ(ws[0].ownerType, 1);
|
|
EXPECT_TRUE(ws[0].isCurrent);
|
|
EXPECT_FALSE(ws[1].isCurrent);
|
|
}
|