Browse Source

Tests improved

pull/65/head
Sebastian Stehle 9 years ago
parent
commit
35fe0b053e
  1. 44
      tests/Squidex.Core.Tests/InvariantPartitionTests.cs
  2. 4
      tests/Squidex.Core.Tests/LanguagesConfigTests.cs
  3. 63
      tests/Squidex.Core.Tests/PartitioningTests.cs
  4. 4
      tests/Squidex.Infrastructure.Tests/RefTokenTests.cs
  5. 9
      tests/Squidex.Write.Tests/Schemas/SchemaDomainObjectTests.cs

44
tests/Squidex.Core.Tests/InvariantPartitionTests.cs

@ -0,0 +1,44 @@
// ==========================================================================
// InvariantPartitionTests.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Xunit;
// ReSharper disable RedundantCast
// ReSharper disable UseCollectionCountProperty
namespace Squidex.Core
{
public sealed class InvariantPartitionTests
{
[Fact]
public void Should_provide_single_value()
{
var sut = InvariantPartitioning.Instance;
Assert.Equal(1, sut.Count);
Assert.Equal(sut.Master, ((IEnumerable<IFieldPartitionItem>)sut).SingleOrDefault());
Assert.Equal(sut.Master, ((IEnumerable)sut).OfType<IFieldPartitionItem>().SingleOrDefault());
}
[Fact]
public void Should_provide_master()
{
var sut = InvariantPartitioning.Instance;
Assert.Equal("iv", sut.Master.Key);
Assert.Equal("Invariant", sut.Master.Name);
Assert.False(sut.Master.Fallback.Any());
Assert.False(sut.Master.IsOptional);
}
}
}

4
tests/Squidex.Core.Tests/LanguagesConfigTests.cs

@ -29,6 +29,8 @@ namespace Squidex.Core
});
Assert.Equal(Language.DE, config.Master.Language);
Assert.Equal("de", ((IFieldPartitioning)config).Master.Key);
}
[Fact]
@ -198,7 +200,7 @@ namespace Squidex.Core
{
var config = LanguagesConfig.Create(Language.DE);
Assert.Throws<ValidationException>(() => config.Update(Language.DE, true, false, new[] { Language.EN }));
Assert.Throws<ValidationException>(() => config.Update(Language.DE, false, false, new[] { Language.EN }));
}
[Fact]

63
tests/Squidex.Core.Tests/PartitioningTests.cs

@ -0,0 +1,63 @@
// ==========================================================================
// PartitioningTests.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using Xunit;
namespace Squidex.Core
{
public sealed class PartitioningTests
{
[Fact]
public void Should_provide_invariant_instance()
{
Assert.Equal("invariant", Partitioning.Invariant.Key);
}
[Fact]
public void Should_provide_language_instance()
{
Assert.Equal("language", Partitioning.Language.Key);
}
[Fact]
public void Should_make_correct_equal_comparisons()
{
var partitioning1a = new Partitioning("partitioning1");
var partitioning1b = new Partitioning("partitioning1");
var partitioning2a = new Partitioning("partitioning2");
Assert.True(partitioning1a.Equals(partitioning1b));
Assert.False(partitioning1a.Equals(partitioning2a));
}
[Fact]
public void Should_make_correct_object_equal_comparisons()
{
object partitioning1a = new Partitioning("partitioning1");
object partitioning1b = new Partitioning("partitioning1");
object partitioning2a = new Partitioning("partitioning2");
Assert.True(partitioning1a.Equals(partitioning1b));
Assert.False(partitioning1a.Equals(partitioning2a));
}
[Fact]
public void Should_provide_correct_hash_codes()
{
var partitioning1a = new Partitioning("partitioning1");
var partitioning1b = new Partitioning("partitioning1");
var partitioning2a = new Partitioning("partitioning2");
Assert.Equal(partitioning1a.GetHashCode(), partitioning1b.GetHashCode());
Assert.NotEqual(partitioning1a.GetHashCode(), partitioning2a.GetHashCode());
}
}
}

4
tests/Squidex.Infrastructure.Tests/RefTokenTests.cs

@ -76,7 +76,7 @@ namespace Squidex.Infrastructure
{
var token1a = RefToken.Parse("client:client1");
var token1b = RefToken.Parse("client:client1");
var token2a = RefToken.Parse("client:client2");
var token2a = RefToken.Parse("client:client2");
Assert.True(token1a.Equals(token1b));
@ -88,7 +88,7 @@ namespace Squidex.Infrastructure
{
object token1a = RefToken.Parse("client:client1");
object token1b = RefToken.Parse("client:client1");
object token2a = RefToken.Parse("client:client2");
object token2a = RefToken.Parse("client:client2");
Assert.True(token1a.Equals(token1b));

9
tests/Squidex.Write.Tests/Schemas/SchemaDomainObjectTests.cs

@ -299,6 +299,15 @@ namespace Squidex.Write.Schemas
});
}
[Fact]
public void AddField_should_throw_if_command_contains_invalid_partitioning()
{
Assert.Throws<ValidationException>(() =>
{
sut.AddField(CreateCommand(new AddField { Name = fieldName, Partitioning = "invalid", Properties = new NumberFieldProperties() }));
});
}
[Fact]
public void AddField_should_throw_if_schema_is_deleted()
{

Loading…
Cancel
Save