mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
196 lines
4.8 KiB
196 lines
4.8 KiB
// ==========================================================================
|
|
// Squidex Headless CMS
|
|
// ==========================================================================
|
|
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|
// All rights reserved. Licensed under the MIT license.
|
|
// ==========================================================================
|
|
|
|
using Squidex.Domain.Apps.Core.Assets;
|
|
using Squidex.Infrastructure.Json.Objects;
|
|
|
|
namespace Squidex.Domain.Apps.Core.Model.Assets;
|
|
|
|
public class AssetMetadataTests
|
|
{
|
|
[Fact]
|
|
public void Should_return_focus_infos_if_found()
|
|
{
|
|
var sut =
|
|
new AssetMetadata
|
|
{
|
|
[KnownMetadataKeys.FocusX] = .5f,
|
|
[KnownMetadataKeys.FocusY] = .2f,
|
|
};
|
|
|
|
Assert.Equal(.5f, sut.GetSingle(KnownMetadataKeys.FocusX));
|
|
Assert.Equal(.2f, sut.GetSingle(KnownMetadataKeys.FocusY));
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_null_if_focus_infos_not_found()
|
|
{
|
|
var sut = new AssetMetadata();
|
|
|
|
Assert.Null(sut.GetSingle(KnownMetadataKeys.FocusX));
|
|
Assert.Null(sut.GetSingle(KnownMetadataKeys.FocusY));
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_pixel_infos_if_found()
|
|
{
|
|
var sut =
|
|
new AssetMetadata
|
|
{
|
|
[KnownMetadataKeys.PixelWidth] = 800,
|
|
[KnownMetadataKeys.PixelHeight] = 600,
|
|
};
|
|
|
|
Assert.Equal(800, sut.GetInt32(KnownMetadataKeys.PixelWidth));
|
|
Assert.Equal(600, sut.GetInt32(KnownMetadataKeys.PixelHeight));
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_null_if_pixel_infos_not_found()
|
|
{
|
|
var sut = new AssetMetadata();
|
|
|
|
Assert.Null(sut.GetInt32(KnownMetadataKeys.PixelWidth));
|
|
Assert.Null(sut.GetInt32(KnownMetadataKeys.PixelHeight));
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_self_if_path_is_empty()
|
|
{
|
|
var sut = new AssetMetadata();
|
|
|
|
var found = sut.TryGetByPath(string.Empty, out var actual);
|
|
|
|
Assert.False(found);
|
|
Assert.Same(sut, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_plain_value_if_found()
|
|
{
|
|
var sut = new AssetMetadata
|
|
{
|
|
["someValue"] = JsonValue.Create(800),
|
|
};
|
|
|
|
var found = sut.TryGetByPath("someValue", out var actual);
|
|
|
|
Assert.True(found);
|
|
Assert.Equal(JsonValue.Create(800), actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_null_if_not_found()
|
|
{
|
|
var sut = new AssetMetadata();
|
|
|
|
var found = sut.TryGetByPath("notFound", out var actual);
|
|
|
|
Assert.False(found);
|
|
Assert.Null(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_return_nested_value_if_found()
|
|
{
|
|
var sut = new AssetMetadata
|
|
{
|
|
["meta"] =
|
|
JsonValue.Object()
|
|
.Add("nested1",
|
|
JsonValue.Object()
|
|
.Add("nested2", 12)),
|
|
};
|
|
|
|
var found = sut.TryGetByPath("meta.nested1.nested2", out var actual);
|
|
|
|
Assert.True(found);
|
|
Assert.Equal(JsonValue.Create(12), actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_get_string_if_found()
|
|
{
|
|
var value = "Hello";
|
|
|
|
var sut = new AssetMetadata
|
|
{
|
|
["string"] = JsonValue.Create(value),
|
|
};
|
|
|
|
var found = sut.TryGetString("string", out var actual);
|
|
|
|
Assert.True(found);
|
|
Assert.Equal(value, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_get_null_if_property_is_not_string()
|
|
{
|
|
var sut = new AssetMetadata
|
|
{
|
|
["string"] = JsonValue.Create(12),
|
|
};
|
|
|
|
var found = sut.TryGetString("string", out var actual);
|
|
|
|
Assert.False(found);
|
|
Assert.Null(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_get_null_if_string_property_not_found()
|
|
{
|
|
var sut = new AssetMetadata();
|
|
|
|
var found = sut.TryGetString("other", out var actual);
|
|
|
|
Assert.False(found);
|
|
Assert.Null(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_get_number_if_found()
|
|
{
|
|
var value = 12.5;
|
|
|
|
var sut = new AssetMetadata
|
|
{
|
|
["number"] = JsonValue.Create(value),
|
|
};
|
|
|
|
var found = sut.TryGetNumber("number", out var actual);
|
|
|
|
Assert.True(found);
|
|
Assert.Equal(value, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_get_null_if_property_is_not_number()
|
|
{
|
|
var sut = new AssetMetadata
|
|
{
|
|
["number"] = JsonValue.Create(true),
|
|
};
|
|
|
|
var found = sut.TryGetNumber("number", out var actual);
|
|
|
|
Assert.False(found);
|
|
Assert.Equal(0, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Should_get_null_if_number_property_not_found()
|
|
{
|
|
var sut = new AssetMetadata();
|
|
|
|
var found = sut.TryGetNumber("other", out var actual);
|
|
|
|
Assert.False(found);
|
|
Assert.Equal(0, actual);
|
|
}
|
|
}
|
|
|