Skip to content

Feat/1246 Allow reordering senses #511

Feat/1246 Allow reordering senses

Feat/1246 Allow reordering senses #511

Triggered via pull request December 6, 2024 14:58
Status Failure
Total duration 22m 37s
Artifacts

fw-lite.yaml

on: pull_request
Build FW Lite and run tests
22m 24s
Build FW Lite and run tests
Publish FW Lite app for Mac
0s
Publish FW Lite app for Mac
Publish FW Lite app for Linux
0s
Publish FW Lite app for Linux
Publish FW Lite app for Windows
0s
Publish FW Lite app for Windows
Create Release
0s
Create Release
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 10 warnings
LcmCrdt.Tests.DataModelSnapshotTests.VerifyChangeModels
VerifyException : Directory: D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\LcmCrdt.Tests NotEqual: - Received: DataModelSnapshotTests.VerifyChangeModels.received.txt Verified: DataModelSnapshotTests.VerifyChangeModels.verified.txt FileContent: NotEqual: Received: DataModelSnapshotTests.VerifyChangeModels.received.txt { DerivedTypes: [ { DerivedType: JsonPatchChange<Entry>, TypeDiscriminator: jsonPatch:Entry }, { DerivedType: JsonPatchChange<Sense>, TypeDiscriminator: jsonPatch:Sense }, { DerivedType: JsonPatchChange<ExampleSentence>, TypeDiscriminator: jsonPatch:ExampleSentence }, { DerivedType: JsonPatchChange<WritingSystem>, TypeDiscriminator: jsonPatch:WritingSystem }, { DerivedType: JsonPatchChange<PartOfSpeech>, TypeDiscriminator: jsonPatch:PartOfSpeech }, { DerivedType: JsonPatchChange<SemanticDomain>, TypeDiscriminator: jsonPatch:SemanticDomain }, { DerivedType: JsonPatchChange<ComplexFormType>, TypeDiscriminator: jsonPatch:ComplexFormType }, { DerivedType: DeleteChange<Entry>, TypeDiscriminator: delete:Entry }, { DerivedType: DeleteChange<Sense>, TypeDiscriminator: delete:Sense }, { DerivedType: DeleteChange<ExampleSentence>, TypeDiscriminator: delete:ExampleSentence }, { DerivedType: DeleteChange<WritingSystem>, TypeDiscriminator: delete:WritingSystem }, { DerivedType: DeleteChange<PartOfSpeech>, TypeDiscriminator: delete:PartOfSpeech }, { DerivedType: DeleteChange<SemanticDomain>, TypeDiscriminator: delete:SemanticDomain }, { DerivedType: DeleteChange<ComplexFormType>, TypeDiscriminator: delete:ComplexFormType }, { DerivedType: DeleteChange<ComplexFormComponent>, TypeDiscriminator: delete:ComplexFormComponent }, { DerivedType: SetPartOfSpeechChange, TypeDiscriminator: SetPartOfSpeechChange }, { DerivedType: AddSemanticDomainChange, TypeDiscriminator: AddSemanticDomainChange }, { DerivedType: RemoveSemanticDomainChange, TypeDiscriminator: RemoveSemanticDomainChange }, { DerivedType: ReplaceSemanticDomainChange, TypeDiscriminator: ReplaceSemanticDomainChange }, { DerivedType: CreateEntryChange, TypeDiscriminator: CreateEntryChange }, { DerivedType: CreateSenseChange, TypeDiscriminator: CreateSenseChange }, { DerivedType: CreateExampleSentenceChange, TypeDiscriminator: CreateExampleSentenceChange }, { DerivedType: CreatePartOfSpeechChange, TypeDiscriminator: CreatePartOfSpeechChange }, { DerivedType: CreateSemanticDomainChange, TypeDiscriminator: CreateSemanticDomainChange }, { DerivedType: CreateWritingSystemChange, TypeDiscriminator: CreateWritingSystemChange }, { DerivedType: AddComplexFormTypeChange, TypeDiscriminator: AddComplexFormTypeChange }, { DerivedType: AddEntryComponentChange, TypeDiscriminator: AddEntryComponentChange }, { DerivedType: RemoveComplexFormTypeChange, TypeDiscriminator: RemoveComplexFormTypeChange }, { DerivedType: SetComplexFormComponentChange, TypeDiscriminator: SetComplexFormComponentChange }, { DerivedType: CreateComplexFormType, TypeDiscriminator: CreateComplexFormType }, { DerivedType: SetOrderChange<Sense>, TypeDiscriminator: SetOrderChange`1 } ], IgnoreUnrecognizedTypeDiscriminators: false, TypeDiscriminatorPropertyName: $type } Verified: DataModelSnapshotTests.VerifyChangeModels.verified.txt { DerivedTypes: [ { DerivedType: JsonPatchChange<Entry>, TypeDiscriminator: jsonPatch:Entry }, { DerivedType: JsonPatchChange<Sense>, TypeDiscriminator: jsonPatch:Sense }, { DerivedType: JsonPatchCha
LcmCrdt.Tests.DataModelSnapshotTests.VerifyDbModel
VerifyException : Directory: D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\LcmCrdt.Tests NotEqual: - Received: DataModelSnapshotTests.VerifyDbModel.received.txt Verified: DataModelSnapshotTests.VerifyDbModel.verified.txt FileContent: NotEqual: Received: DataModelSnapshotTests.VerifyDbModel.received.txt Model: EntityType: ProjectData Properties: Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd ClientId (Guid) Required FwProjectId (Guid?) Name (string) Required OriginDomain (string) Keys: Id PK Annotations: DiscriminatorProperty: Relational:FunctionName: Relational:Schema: Relational:SqlQuery: Relational:TableName: ProjectData Relational:ViewName: Relational:ViewSchema: EntityType: ComplexFormComponent Properties: Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd ComplexFormEntryId (Guid) Required FK Index ComplexFormHeadword (string) ComponentEntryId (Guid) Required FK Index ComponentHeadword (string) ComponentSenseId (Guid?) FK Index Annotations: Relational:ColumnName: ComponentSenseId DeletedAt (DateTimeOffset?) SnapshotId (no field, Guid?) Shadow FK Index Keys: Id PK Foreign keys: ComplexFormComponent {'ComplexFormEntryId'} -> Entry {'Id'} Required Cascade ToDependent: Components ComplexFormComponent {'ComponentEntryId'} -> Entry {'Id'} Required Cascade ToDependent: ComplexForms ComplexFormComponent {'ComponentSenseId'} -> Sense {'Id'} Cascade ComplexFormComponent {'SnapshotId'} -> ObjectSnapshot {'Id'} Unique SetNull Indexes: ComponentEntryId ComponentSenseId SnapshotId Unique ComplexFormEntryId, ComponentEntryId Unique Annotations: Relational:Filter: ComponentSenseId IS NULL ComplexFormEntryId, ComponentEntryId, ComponentSenseId Unique Annotations: Relational:Filter: ComponentSenseId IS NOT NULL Annotations: DiscriminatorProperty: Relational:FunctionName: Relational:Schema: Relational:SqlQuery: Relational:TableName: ComplexFormComponents Relational:ViewName: Relational:ViewSchema: EntityType: ComplexFormType Properties: Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd DeletedAt (DateTimeOffset?) Name (MultiString) Required Annotations: Relational:ColumnType: jsonb SnapshotId (no field, Guid?) Shadow FK Index Keys: Id PK Foreign keys: ComplexFormType {'SnapshotId'} -> ObjectSnapshot {'Id'} Unique SetNull Indexes: SnapshotId Unique Annotations: DiscriminatorProperty: Relational:FunctionName: Relational:Schema: Relational:SqlQuery: Relational:TableName: ComplexFormType Relational:ViewName: Relational:ViewSchema: EntityType: Entry Properties: Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd CitationForm (MultiString) Required Annotations: Relational:ColumnType: jsonb ComplexFormTypes (IList<ComplexFormType>) Required Annotations: Relational:ColumnType: jsonb DeletedAt (DateTimeOffset?) LexemeForm (MultiString) Required Annotations: Relational:ColumnType: jsonb LiteralMeaning (MultiString) Required Annotations: Relational:ColumnType: jsonb Note (MultiString) Required Annotations: Relational:ColumnType: jsonb SnapshotId (no field, Guid?) Shadow FK Index Navigations: ComplexForms (IList<ComplexFormComponent>) Collection ToDependent ComplexFormComponent Components (IList<ComplexFormComponent>) Collection ToDependent ComplexFormComponent Senses (IList<Sense>) Collection ToDependent Sense Keys: Id PK Foreign keys: Entry {'SnapshotId'} -> ObjectSnapshot {'Id'} Unique SetNull Indexes: SnapshotId
LcmCrdt.Tests.MiniLcmTests.CreateEntryTests.CanCreateEntry_AutoFaker
System.InvalidOperationException : Order should not be provided when creating a sense
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[1].Order to be 0.0, but found 2.0. Expected property actual.Senses[2].Order to be 0.0, but found 3.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[0].Order to be 0.0, but found 2.0. Expected property actual.Senses[1].Order to be 0.0, but found 3.0. Expected property actual.Senses[2].Order to be 0.0, but found 4.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[0].Order to be 0.0, but found 3.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[0].Order to be 0.0, but found 1.0. Expected property actual.Senses[1].Order to be 0.0, but found 2.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[1].Order to be 0.0, but found 1.0. Expected property actual.Senses[2].Order to be 0.0, but found 2.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[0].Order to be 0.0, but found 1.0. Expected property actual.Senses[1].Order to be 0.0, but found 2.0. Expected property actual.Senses[3].Order to be 0.0, but found 3.0. Expected property actual.Senses[4].Order to be 0.0, but found 4.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
LcmCrdt.Tests.MiniLcmTests.UpdateEntryTests.UpdateEntry_CanReorderSenses(before: "1
Expected property actual.Senses[1].Order to be 0.0, but found 1.0. Expected property actual.Senses[2].Order to be 0.0, but found 2.0. Expected property actual.Senses[3].Order to be 0.0, but found 3.0. With configuration: - Use declared types and members - Compare enums by value - Compare tuples by their properties - Compare anonymous types by their properties - Compare records by their members - Include non-browsable members - Include all non-private properties - Include all non-private fields - Match member by name (or throw) - Always be strict about the collection order - Without automatic conversion.
Build FW Lite and run tests: backend/FwLite/MiniLcm/SyncHelpers/WritingSystemSync.cs#L28
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Build FW Lite and run tests: backend/FwLite/MiniLcm/SyncHelpers/SenseSync.cs#L41
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Build FW Lite and run tests: backend/FwLite/FwDataMiniLcmBridge/Api/FwDataMiniLcmApi.cs#L209
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Build FW Lite and run tests: backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
Build FW Lite and run tests: backend/FwLite/FwDataMiniLcmBridge/Api/UpdateProxy/UpdateSenseProxy.cs#L121
Observe the awaitable result of this method call by awaiting it, assigning to a variable, or passing it to another method (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD110.md)
Build FW Lite and run tests: backend/FwLite/FwDataMiniLcmBridge/Api/UpdateProxy/UpdateEntryProxy.cs#L53
Observe the awaitable result of this method call by awaiting it, assigning to a variable, or passing it to another method (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD110.md)
Build FW Lite and run tests: backend/FwLite/LcmCrdt/RemoteSync/CrdtHttpSyncService.cs#L53
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Build FW Lite and run tests: backend/FwLite/LcmCrdt/HistoryService.cs#L94
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
Build FW Lite and run tests: backend/FwLite/LcmCrdt/HistoryService.cs#L94
The result of the expression is always 'true' since a value of type 'Guid' is never equal to 'null' of type 'Guid?'
Build FW Lite and run tests: backend/FwLite/LcmCrdt/Data/SetupCollationInterceptor.cs#L27
The variable 'e' is declared but never used