Skip to content
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
using Xunit;
using Xunit;
using api.Services;
using api.Models.Common;
using api.Models.Ttv;
using System;

namespace api.Tests
{
[Collection("Organization handler service tests")]
namespace api.Tests
{
[Collection("Organization handler service tests")]
public class OrganizationHandlerServiceTests
{
[Fact(DisplayName = "Get correct DimPid.PidType value for ORCID disambiguation source")]
Expand Down Expand Up @@ -39,6 +39,7 @@ public void getDimIdentifierlessDatum_organization_name()
Assert.Equal(Constants.SourceIdentifiers.PROFILE_API, dimIdentifierlessDatum.SourceId);
Assert.Equal(Constants.SourceDescriptions.ORCID, dimIdentifierlessDatum.SourceDescription);
Assert.Equal("foo=bar", dimIdentifierlessDatum.UnlinkedIdentifier);
Assert.Equal(-1, dimIdentifierlessDatum.DimOrganizationId);
}

[Fact(DisplayName = "Get new DimIdentifierlessDatum for organization unit")]
Expand All @@ -65,6 +66,7 @@ public void getDimIdentifierlessDatum_organization_unit()
Assert.Equal(Constants.SourceIdentifiers.PROFILE_API, dimIdentifierlessDatum.SourceId);
Assert.Equal(Constants.SourceDescriptions.ORCID, dimIdentifierlessDatum.SourceDescription);
Assert.Null(dimIdentifierlessDatum.UnlinkedIdentifier);
Assert.Equal(-1, dimIdentifierlessDatum.DimOrganizationId);
}

[Fact(DisplayName = "Normalize RORID, ID only")]
Expand All @@ -77,8 +79,8 @@ public void normalizeRorId_01()
string actualNormalizedRorId = organizationHandlerService.NormalizeRorId(rorId);
// Assert
Assert.Equal(rorId, actualNormalizedRorId);
}
}

[Fact(DisplayName = "Normalize RORID, URL version")]
public void normalizeRorId_02()
{
Expand Down Expand Up @@ -116,6 +118,6 @@ public void getUnlinkedIdentifierFromOrcidDisambiguation_02()
string actual = organizationHandlerService.GetUnlinkedIdentifierFromOrcidDisambiguation(orcidDisambiguationSource: source, orcidDisambiguatedOrganizationIdentifier: identifier);
// Assert
Assert.Equal("", actual);
}
}
}
}
}
62 changes: 24 additions & 38 deletions aspnetcore/src/api.Tests/Services_Tests/TtvSqlServiceTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -619,19 +619,6 @@ public void Test_getSqlQuery_Delete_FactFieldValues_related_field_of_science()
Assert.Equal(NormalizeSql(expectedSqlString), NormalizeSql(actualSqlString));
}

[Fact(DisplayName = "Get SQL query for deleting FactFieldValues related data, funding decision")]
public void Test_getSqlQuery_Delete_FactFieldValues_related_funding_decision()
{
// Arrange
TtvSqlService ttvSqlService = new();
List<int> ids = new() { 78, 89, 90 };
string expectedSqlString = "DELETE FROM dim_funding_decision WHERE id IN (78,89,90)";
// Act
string actualSqlString = ttvSqlService.GetSqlQuery_Delete_DimFundingDecisions(ids);
// Assert
Assert.Equal(NormalizeSql(expectedSqlString), NormalizeSql(actualSqlString));
}

[Fact(DisplayName = "Get SQL query for deleting FactFieldValues related data, keyword")]
public void Test_getSqlQuery_Delete_FactFieldValues_related_keyword()
{
Expand Down Expand Up @@ -749,19 +736,6 @@ public void Test_getSqlQuery_Delete_FactFieldValues_related_research_community()
Assert.Equal(NormalizeSql(expectedSqlString), NormalizeSql(actualSqlString));
}

[Fact(DisplayName = "Get SQL query for deleting FactFieldValues related data, research dataset")]
public void Test_getSqlQuery_Delete_FactFieldValues_related_research_dataset()
{
// Arrange
TtvSqlService ttvSqlService = new();
List<int> ids = new() { 106, 107, 108 };
string expectedSqlString = "DELETE FROM dim_research_dataset WHERE id IN (106,107,108)";
// Act
string actualSqlString = ttvSqlService.GetSqlQuery_Delete_DimResearchDatasets(ids);
// Assert
Assert.Equal(NormalizeSql(expectedSqlString), NormalizeSql(actualSqlString));
}

[Fact(DisplayName = "Get SQL query for deleting FactFieldValues related data, researcher description")]
public void Test_getSqlQuery_Delete_FactFieldValues_related_researcher_description()
{
Expand Down Expand Up @@ -1288,12 +1262,12 @@ public void GetSqlQuery_ProfileData_ProfileEditor()
dim_profile_only_funding_decision_web_link.url AS 'DimProfileOnlyFundingDecision_DimWebLink_Url',

dim_research_dataset.local_identifier AS 'DimResearchDataset_LocalIdentifier',
dim_research_dataset.name_fi AS 'DimResearchDataset_NameFi',
dim_research_dataset.name_en AS 'DimResearchDataset_NameEn',
dim_research_dataset.name_sv AS 'DimResearchDataset_NameSv',
dim_research_dataset.description_fi AS 'DimResearchDataset_DescriptionFi',
dim_research_dataset.description_en AS 'DimResearchDataset_DescriptionEn',
dim_research_dataset.description_sv AS 'DimResearchDataset_DescriptionSv',
dim_research_dataset_descriptive_item_name_fi.descriptive_item AS 'DimResearchDataset_NameFi',
dim_research_dataset_descriptive_item_name_en.descriptive_item AS 'DimResearchDataset_NameEn',
dim_research_dataset_descriptive_item_name_sv.descriptive_item AS 'DimResearchDataset_NameSv',
dim_research_dataset_descriptive_item_description_fi.descriptive_item AS 'DimResearchDataset_DescriptionFi',
dim_research_dataset_descriptive_item_description_en.descriptive_item AS 'DimResearchDataset_DescriptionEn',
dim_research_dataset_descriptive_item_description_sv.descriptive_item AS 'DimResearchDataset_DescriptionSv',
dim_research_dataset.dataset_created AS 'DimResearchDataset_DatasetCreated',
dim_research_dataset_referencedata_availability.code_value AS 'DimResearchDataset_AccessType',

Expand Down Expand Up @@ -1395,6 +1369,12 @@ LEFT JOIN dim_referencedata AS research_activity_fact_contribution_researcher_na
LEFT JOIN dim_web_link AS dim_profile_only_funding_decision_web_link ON dim_profile_only_funding_decision_web_link.dim_profile_only_funding_decision_id=dpofd.id AND dim_profile_only_funding_decision_web_link.dim_profile_only_funding_decision_id!=-1

JOIN dim_research_dataset ON ffv.dim_research_dataset_id=dim_research_dataset.id
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_name_fi ON dim_research_dataset_descriptive_item_name_fi.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_name_fi.descriptive_item_type='name' AND dim_research_dataset_descriptive_item_name_fi.descriptive_item_language='fi' AND dim_research_dataset_descriptive_item_name_fi.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_name_en ON dim_research_dataset_descriptive_item_name_en.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_name_en.descriptive_item_type='name' AND dim_research_dataset_descriptive_item_name_en.descriptive_item_language='en' AND dim_research_dataset_descriptive_item_name_en.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_name_sv ON dim_research_dataset_descriptive_item_name_sv.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_name_sv.descriptive_item_type='name' AND dim_research_dataset_descriptive_item_name_sv.descriptive_item_language='sv' AND dim_research_dataset_descriptive_item_name_sv.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_description_fi ON dim_research_dataset_descriptive_item_description_fi.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_description_fi.descriptive_item_type='description' AND dim_research_dataset_descriptive_item_description_fi.descriptive_item_language='fi' AND dim_research_dataset_descriptive_item_description_fi.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_description_en ON dim_research_dataset_descriptive_item_description_en.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_description_en.descriptive_item_type='description' AND dim_research_dataset_descriptive_item_description_en.descriptive_item_language='en' AND dim_research_dataset_descriptive_item_description_en.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_description_sv ON dim_research_dataset_descriptive_item_description_sv.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_description_sv.descriptive_item_type='description' AND dim_research_dataset_descriptive_item_description_sv.descriptive_item_language='sv' AND dim_research_dataset_descriptive_item_description_sv.dim_research_dataset_id!=-1
LEFT JOIN dim_referencedata AS dim_research_dataset_referencedata_availability ON dim_research_dataset.dim_referencedata_availability=dim_research_dataset_referencedata_availability.id AND dim_research_dataset.dim_referencedata_availability!=-1

JOIN dim_profile_only_dataset ON ffv.dim_profile_only_dataset_id=dim_profile_only_dataset.id
Expand Down Expand Up @@ -1689,12 +1669,12 @@ public void GetSqlQuery_ProfileData_Elasticsearch()
dim_profile_only_funding_decision_web_link.url AS 'DimProfileOnlyFundingDecision_DimWebLink_Url',

dim_research_dataset.local_identifier AS 'DimResearchDataset_LocalIdentifier',
dim_research_dataset.name_fi AS 'DimResearchDataset_NameFi',
dim_research_dataset.name_en AS 'DimResearchDataset_NameEn',
dim_research_dataset.name_sv AS 'DimResearchDataset_NameSv',
dim_research_dataset.description_fi AS 'DimResearchDataset_DescriptionFi',
dim_research_dataset.description_en AS 'DimResearchDataset_DescriptionEn',
dim_research_dataset.description_sv AS 'DimResearchDataset_DescriptionSv',
dim_research_dataset_descriptive_item_name_fi.descriptive_item AS 'DimResearchDataset_NameFi',
dim_research_dataset_descriptive_item_name_en.descriptive_item AS 'DimResearchDataset_NameEn',
dim_research_dataset_descriptive_item_name_sv.descriptive_item AS 'DimResearchDataset_NameSv',
dim_research_dataset_descriptive_item_description_fi.descriptive_item AS 'DimResearchDataset_DescriptionFi',
dim_research_dataset_descriptive_item_description_en.descriptive_item AS 'DimResearchDataset_DescriptionEn',
dim_research_dataset_descriptive_item_description_sv.descriptive_item AS 'DimResearchDataset_DescriptionSv',
dim_research_dataset.dataset_created AS 'DimResearchDataset_DatasetCreated',
dim_research_dataset_referencedata_availability.code_value AS 'DimResearchDataset_AccessType',

Expand Down Expand Up @@ -1796,6 +1776,12 @@ LEFT JOIN dim_referencedata AS research_activity_fact_contribution_researcher_na
LEFT JOIN dim_web_link AS dim_profile_only_funding_decision_web_link ON dim_profile_only_funding_decision_web_link.dim_profile_only_funding_decision_id=dpofd.id AND dim_profile_only_funding_decision_web_link.dim_profile_only_funding_decision_id!=-1

JOIN dim_research_dataset ON ffv.dim_research_dataset_id=dim_research_dataset.id
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_name_fi ON dim_research_dataset_descriptive_item_name_fi.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_name_fi.descriptive_item_type='name' AND dim_research_dataset_descriptive_item_name_fi.descriptive_item_language='fi' AND dim_research_dataset_descriptive_item_name_fi.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_name_en ON dim_research_dataset_descriptive_item_name_en.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_name_en.descriptive_item_type='name' AND dim_research_dataset_descriptive_item_name_en.descriptive_item_language='en' AND dim_research_dataset_descriptive_item_name_en.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_name_sv ON dim_research_dataset_descriptive_item_name_sv.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_name_sv.descriptive_item_type='name' AND dim_research_dataset_descriptive_item_name_sv.descriptive_item_language='sv' AND dim_research_dataset_descriptive_item_name_sv.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_description_fi ON dim_research_dataset_descriptive_item_description_fi.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_description_fi.descriptive_item_type='description' AND dim_research_dataset_descriptive_item_description_fi.descriptive_item_language='fi' AND dim_research_dataset_descriptive_item_description_fi.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_description_en ON dim_research_dataset_descriptive_item_description_en.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_description_en.descriptive_item_type='description' AND dim_research_dataset_descriptive_item_description_en.descriptive_item_language='en' AND dim_research_dataset_descriptive_item_description_en.dim_research_dataset_id!=-1
LEFT JOIN dim_descriptive_item AS dim_research_dataset_descriptive_item_description_sv ON dim_research_dataset_descriptive_item_description_sv.dim_research_dataset_id=dim_research_dataset.id AND dim_research_dataset_descriptive_item_description_sv.descriptive_item_type='description' AND dim_research_dataset_descriptive_item_description_sv.descriptive_item_language='sv' AND dim_research_dataset_descriptive_item_description_sv.dim_research_dataset_id!=-1
LEFT JOIN dim_referencedata AS dim_research_dataset_referencedata_availability ON dim_research_dataset.dim_referencedata_availability=dim_research_dataset_referencedata_availability.id AND dim_research_dataset.dim_referencedata_availability!=-1

JOIN dim_profile_only_dataset ON ffv.dim_profile_only_dataset_id=dim_profile_only_dataset.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ public partial class ProfileEditorPublication : ProfileEditorItem
public string SelfArchivedCode { get; set; }
public string Volume { get; set; }
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -303,4 +303,4 @@ public ProfileDataFromSql()
public DateTime? DimProfileOnlyDataset_DatasetCreated { get; set; }
public string DimProfileOnlyDataset_DimWebLink_Url { get; set; }
}
}
}
2 changes: 2 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimCallProgramme.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ public partial class DimCallProgramme

public virtual ICollection<DimWebLink> DimWebLinks { get; set; } = new List<DimWebLink>();

public virtual ICollection<FactReferencedatum> FactReferencedata { get; set; } = new List<FactReferencedatum>();

public virtual ICollection<DimCallProgramme> InverseDimCallProgrammeNavigation { get; set; } = new List<DimCallProgramme>();

public virtual DimReferencedatum TypeOfFundingNavigation { get; set; }
Expand Down
4 changes: 4 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimDescriptiveItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,16 @@ public partial class DimDescriptiveItem

public int DimResearchDatasetId { get; set; }

public int DimResearchDataCatalogId { get; set; }

public virtual DimDate DimEndDateNavigation { get; set; }

public virtual DimPublication DimPublication { get; set; }

public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; }

public virtual DimResearchDataCatalog DimResearchDataCatalog { get; set; }

public virtual DimResearchDataset DimResearchDataset { get; set; }

public virtual DimResearchProject DimResearchProject { get; set; }
Expand Down
2 changes: 2 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimFundingDecision.cs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ public partial class DimFundingDecision

public virtual ICollection<FactFieldValue> FactFieldValues { get; set; } = new List<FactFieldValue>();

public virtual ICollection<FactReferencedatum> FactReferencedata { get; set; } = new List<FactReferencedatum>();

public virtual ICollection<DimFundingDecision> InverseDimFundingDecisionIdParentDecisionNavigation { get; set; } = new List<DimFundingDecision>();

public virtual ICollection<DimFundingDecision> DimFundingDecisionFroms { get; set; } = new List<DimFundingDecision>();
Expand Down
6 changes: 6 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimIdentifierlessDatum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,14 @@ public partial class DimIdentifierlessDatum

public string UnlinkedIdentifier { get; set; }

public int DimOrganizationId { get; set; }

public string ValueUnd { get; set; }

public virtual DimIdentifierlessDatum DimIdentifierlessData { get; set; }

public virtual DimOrganization DimOrganization { get; set; }

public virtual ICollection<FactContribution> FactContributions { get; set; } = new List<FactContribution>();

public virtual ICollection<FactFieldValue> FactFieldValues { get; set; } = new List<FactFieldValue>();
Expand Down
2 changes: 2 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimInfrastructure.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ public partial class DimInfrastructure

public virtual ICollection<FactInfraKeyword> FactInfraKeywords { get; set; } = new List<FactInfraKeyword>();

public virtual ICollection<FactReferencedatum> FactReferencedata { get; set; } = new List<FactReferencedatum>();

public virtual ICollection<FactRelation> FactRelationFromInfrastructures { get; set; } = new List<FactRelation>();

public virtual ICollection<FactRelation> FactRelationToInfrastructures { get; set; } = new List<FactRelation>();
Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/src/api/Models/Ttv/DimKeyword.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ public partial class DimKeyword

public virtual ICollection<FactInfraKeyword> FactInfraKeywords { get; set; } = new List<FactInfraKeyword>();

public virtual ICollection<FactKeyword> FactKeywords { get; set; } = new List<FactKeyword>();

public virtual ICollection<DimKeyword> InverseDimKeywordCloseMatchNavigation { get; set; } = new List<DimKeyword>();

public virtual ICollection<DimKeyword> InverseDimKeywordLanguageVariantNavigation { get; set; } = new List<DimKeyword>();
Expand All @@ -54,6 +56,4 @@ public partial class DimKeyword
public virtual ICollection<DimFundingDecision> DimFundingDecisions { get; set; } = new List<DimFundingDecision>();

public virtual ICollection<DimPublication> DimPublications { get; set; } = new List<DimPublication>();

public virtual ICollection<DimResearchDataset> DimResearchDatasets { get; set; } = new List<DimResearchDataset>();
}
2 changes: 2 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimOrganization.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ public partial class DimOrganization

public virtual ICollection<DimFundingDecision> DimFundingDecisions { get; set; } = new List<DimFundingDecision>();

public virtual ICollection<DimIdentifierlessDatum> DimIdentifierlessData { get; set; } = new List<DimIdentifierlessDatum>();

public virtual DimOrganization DimOrganizationBroaderNavigation { get; set; }

public virtual ICollection<DimPid> DimPids { get; set; } = new List<DimPid>();
Expand Down
2 changes: 2 additions & 0 deletions aspnetcore/src/api/Models/Ttv/DimPublication.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ public partial class DimPublication

public virtual ICollection<FactFieldValue> FactFieldValues { get; set; } = new List<FactFieldValue>();

public virtual ICollection<FactReferencedatum> FactReferencedata { get; set; } = new List<FactReferencedatum>();

public virtual ICollection<FactRelation> FactRelationFromPublications { get; set; } = new List<FactRelation>();

public virtual ICollection<FactRelation> FactRelationToPublications { get; set; } = new List<FactRelation>();
Expand Down
Loading