Browse Source

Change reverted.

pull/587/head
Sebastian 5 years ago
parent
commit
d45a94fe89
  1. 12
      backend/src/Squidex.Domain.Apps.Entities/Rules/Queries/RuleQueryService.cs
  2. 12
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Indexes/RulesIndexTests.cs
  3. 19
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Queries/RuleQueryServiceTests.cs
  4. 16
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Schemas/Indexes/SchemasIndexTests.cs
  5. 10
      frontend/app/shared/services/assets.service.ts
  6. 2
      frontend/app/shared/state/assets.forms.spec.ts
  7. 14
      frontend/app/shared/state/assets.forms.ts

12
backend/src/Squidex.Domain.Apps.Entities/Rules/Queries/RuleQueryService.cs

@ -14,6 +14,7 @@ namespace Squidex.Domain.Apps.Entities.Rules.Queries
{
public sealed class RuleQueryService : IRuleQueryService
{
private static readonly List<IEnrichedRuleEntity> EmptyResults = new List<IEnrichedRuleEntity>();
private readonly IRulesIndex rulesIndex;
private readonly IRuleEnricher ruleEnricher;
@ -30,9 +31,16 @@ namespace Squidex.Domain.Apps.Entities.Rules.Queries
{
var rules = await rulesIndex.GetRulesAsync(context.App.Id);
var enriched = await ruleEnricher.EnrichAsync(rules, context);
rules.RemoveAll(x => x.IsDeleted);
return enriched;
if (rules.Count > 0)
{
var enriched = await ruleEnricher.EnrichAsync(rules, context);
return enriched;
}
return EmptyResults;
}
}
}

12
backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Indexes/RulesIndexTests.cs

@ -48,7 +48,7 @@ namespace Squidex.Domain.Apps.Entities.Rules.Indexes
}
[Fact]
public async Task Should_return_empty_rule_if_rule_not_created()
public async Task Should_return_empty_rules_if_rule_not_created()
{
var rule = SetupRule(-1);
@ -61,16 +61,16 @@ namespace Squidex.Domain.Apps.Entities.Rules.Indexes
}
[Fact]
public async Task Should_return_empty_rule_if_rule_deleted()
public async Task Should_return_rule_if_deleted()
{
var rule = SetupRule(-1);
var rule = SetupRule(0, true);
A.CallTo(() => index.GetIdsAsync())
.Returns(new List<Guid> { rule.Id });
var actual = await sut.GetRulesAsync(appId.Id);
Assert.Empty(actual);
Assert.Same(actual[0], rule);
}
[Fact]
@ -118,11 +118,11 @@ namespace Squidex.Domain.Apps.Entities.Rules.Indexes
.MustHaveHappened();
}
private IRuleEntity SetupRule(long version)
private IRuleEntity SetupRule(long version, bool isDeleted = false)
{
var ruleId = Guid.NewGuid();
var ruleEntity = new RuleEntity { Id = ruleId, AppId = appId, Version = version };
var ruleEntity = new RuleEntity { Id = ruleId, AppId = appId, Version = version, IsDeleted = isDeleted };
var ruleGrain = A.Fake<IRuleGrain>();
A.CallTo(() => ruleGrain.GetStateAsync())

19
backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Queries/RuleQueryServiceTests.cs

@ -54,5 +54,24 @@ namespace Squidex.Domain.Apps.Entities.Rules.Queries
Assert.Same(enriched, result);
}
[Fact]
public async Task Should_not_get_deleted_rules()
{
var original = new List<IRuleEntity>
{
new RuleEntity { IsDeleted = true }
};
A.CallTo(() => rulesIndex.GetRulesAsync(appId.Id))
.Returns(original);
var result = await sut.QueryAsync(requestContext);
Assert.Empty(result);
A.CallTo(() => ruleEnricher.EnrichAsync(A<IEnumerable<IRuleEntity>>._, requestContext))
.MustNotHaveHappened();
}
}
}

16
backend/tests/Squidex.Domain.Apps.Entities.Tests/Schemas/Indexes/SchemasIndexTests.cs

@ -142,7 +142,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.Indexes
}
[Fact]
public async Task Should_return_empty_schema_if_schema_not_created()
public async Task Should_return_empty_schemas_if_schema_not_created()
{
var schema = SetupSchema(EtagVersion.NotFound);
@ -155,16 +155,16 @@ namespace Squidex.Domain.Apps.Entities.Schemas.Indexes
}
[Fact]
public async Task Should_return_empty_schema_if_schema_deleted()
public async Task Should_return_schema_if_deleted()
{
var schema = SetupSchema();
var schema = SetupSchema(0, true);
A.CallTo(() => index.GetIdAsync(schema.SchemaDef.Name))
.Returns(schema.Id);
A.CallTo(() => index.GetIdsAsync())
.Returns(new List<Guid> { schema.Id });
var actual = await sut.GetSchemasAsync(appId.Id);
Assert.Empty(actual);
Assert.Same(actual[0], schema);
}
[Fact]
@ -276,7 +276,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.Indexes
return new CreateSchema { SchemaId = schemaId.Id, Name = name, AppId = appId };
}
private ISchemaEntity SetupSchema(long version = 0)
private ISchemaEntity SetupSchema(long version = 0, bool isDeleted = false)
{
var schemaEntity = A.Fake<ISchemaEntity>();
@ -288,6 +288,8 @@ namespace Squidex.Domain.Apps.Entities.Schemas.Indexes
.Returns(appId);
A.CallTo(() => schemaEntity.Version)
.Returns(version);
A.CallTo(() => schemaEntity.IsDeleted)
.Returns(isDeleted);
var schemaGrain = A.Fake<ISchemaGrain>();

10
frontend/app/shared/services/assets.service.ts

@ -35,15 +35,13 @@ export class AssetDto {
public readonly canMove: boolean;
public get fileNameWithoutExtension() {
let fileName = this.fileName;
const index = fileName.lastIndexOf('.');
const index = this.fileName.lastIndexOf('.');
if (index > 0) {
fileName = fileName.substr(0, index);
return this.fileName.substr(0, index);
} else {
return this.fileName;
}
return fileName;
}
public get isDuplicate() {

2
frontend/app/shared/state/assets.forms.spec.ts

@ -31,7 +31,7 @@ describe('AnnotateAssetForm', () => {
form = new AnnotateAssetForm(new FormBuilder());
});
it('shoulde remov extension when loading asset file name', () => {
it('shoulde remove extension when loading asset file name', () => {
form.load(asset);
const slug = form.form.get('fileName')!.value;

14
frontend/app/shared/state/assets.forms.ts

@ -125,7 +125,19 @@ export class AnnotateAssetForm extends Form<FormGroup, AnnotateAssetDto, AssetDt
}
public transformLoad(value: Partial<AssetDto>) {
const result = { ...value, fileName: value.fileNameWithoutExtension };
const result = { ...value };
let fileName = value.fileName;
if (fileName) {
const index = fileName.lastIndexOf('.');
if (index > 0) {
fileName = fileName.substr(0, index);
}
result.fileName = fileName;
}
if (Types.isObject(value.metadata)) {
const length = Object.keys(value.metadata).length;

Loading…
Cancel
Save