Bug 35418: Add TR_B2 tests

This test file adds tests for the TR_B2 specific report.
But also tests for this specific bug, which only happens if
the report time period ends in december

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Pedro Amorim 2023-11-28 13:17:20 +00:00 committed by Tomas Cohen Arazi
parent 55f024c0e3
commit 684d9263e8
No known key found for this signature in database
GPG Key ID: 0A272EA1B2F3C15F
2 changed files with 600 additions and 4 deletions

View File

@ -17,11 +17,11 @@
use Modern::Perl;
use Test::More tests => 15;
use Test::More tests => 18;
use Koha::ERM::EUsage::SushiCounter;
use Koha::Database;
use JSON qw( decode_json );
use JSON qw( decode_json );
use File::Basename qw( dirname );
use File::Slurp;
@ -803,8 +803,8 @@ subtest 'TR_B3 _COUNTER_report_body' => sub {
is( $report_body[8][10], '2002', '1st title, 2nd yop has 6 metric types' );
# The data is in the correct column
is( $report_body[2][0], 'Insect Cell Culture: Fundamental and Applied Aspects', '1st column is title' );
is( $report_body[2][1], 'Test Publisher', '2nd column is publisher' );
is( $report_body[2][0], 'Insect Cell Culture: Fundamental and Applied Aspects', '1st column is title' );
is( $report_body[2][1], 'Test Publisher', '2nd column is publisher' );
is( $report_body[2][2], '', '3rd column heading is publisher ID' );
is( $report_body[2][3], 'Test Platform', '4th column is platform' );
is( $report_body[2][4], '10.1007/0-306-46850-6', '5th column is DOI' );
@ -828,3 +828,156 @@ subtest 'TR_B3 _COUNTER_report_body' => sub {
'Reporting period total matches the sum of all the monthly usage statistics'
);
};
my $sushi_response_file_TR_B2 = dirname(__FILE__) . "/../../../data/erm/eusage/TR_B2.json";
my $sushi_counter_5_response_TR_B2 = decode_json( read_file($sushi_response_file_TR_B2) );
my $sushi_counter_TR_B2 = Koha::ERM::EUsage::SushiCounter->new( { response => $sushi_counter_5_response_TR_B2 } );
subtest 'TR_B2 _COUNTER_report_header' => sub {
plan tests => 37;
my @report_header = $sushi_counter_TR_B2->_COUNTER_report_header;
# Header row #1 - Report_Name
is( $report_header[0][0], 'Report_Name', '1st row is report name' );
is( $report_header[0][1], 'Book Access Denied', '1st row is report name' );
is( $report_header[0][2], undef, '1st row is report name' );
# Header row #2 - Report_ID
is( $report_header[1][0], 'Report_ID', '2nd row is report name' );
is( $report_header[1][1], 'TR_B2', '2nd row is report name' );
is( $report_header[1][2], undef, '2nd row is report name' );
# Header row #3 - Release
is( $report_header[2][0], 'Release', '3rd row is counter release' );
is( $report_header[2][1], '5', '3rd row is counter release' );
is( $report_header[2][2], undef, '3rd row is counter release' );
# Header row #4 - Institution_Name
is( $report_header[3][0], 'Institution_Name', '4th row is institution name' );
is( $report_header[3][1], 'Test Institution', '4th row is institution name' );
is( $report_header[3][2], undef, '4th row is institution name' );
# Header row #5 - Institution_ID
is( $report_header[4][0], 'Institution_ID', '5th row is institution id' );
is( $report_header[4][1], 'Proprietary:SN:TEST_CUSTOMER_ID', '5th row is institution id' );
is( $report_header[4][2], undef, '5th row is institution id' );
# Header row #6 - Metric_Types
is( $report_header[5][0], 'Metric_Types', '6th row is metric types' );
is(
$report_header[5][1],
'Limit_Exceeded; No_License',
'6th row is metric types'
);
is( $report_header[5][2], undef, '6th row is metric types' );
# Header row #7 - Report_Filters
is( $report_header[6][0], 'Report_Filters', '7th row is report filters' );
is(
$report_header[6][1],
'Data_Type:Book; Access_Method:Regular; Metric_Type:Limit_Exceeded|No_License; Begin_Date:2022-11-01; End_Date:2022-12-31',
'7th row is report filters'
);
is( $report_header[6][2], undef, '7th row is report filters' );
# Header row #8 - Report_Attributes
is( $report_header[7][0], 'Report_Attributes', '8th row is report attributes' );
is( $report_header[7][1], '', '8th row is report attributes' );
is( $report_header[7][2], undef, '8th row is report attributes' );
# Header row #9 - Exceptions
is( $report_header[8][0], 'Exceptions', '9th row is exceptions' );
is( $report_header[8][1], '', '9th row is exceptions' );
is( $report_header[8][2], undef, '9th row is exceptions' );
# Header row #10 - Reporting_Period
is( $report_header[9][0], 'Reporting_Period', '10th row is reporting period' );
is( $report_header[9][1], 'Begin_Date=2022-11-01; End_Date=2022-12-31', '10th row is reporting period' );
is( $report_header[9][2], undef, '10th row is reporting period' );
# Header row #11 - Created
is( $report_header[10][0], 'Created', '11th row is created' );
is( $report_header[10][1], '2023-11-28T12:53:04Z', '11th row is created' );
is( $report_header[10][2], undef, '11th row is created' );
# Header row #12 - Created
is( $report_header[11][0], 'Created_By', '12th row is created by' );
is( $report_header[11][1], 'Test Systems Inc.', '12th row is created by' );
is( $report_header[11][2], undef, '12th row is created by' );
# Header row #13 - This needs to be empty
is( $report_header[12][0], '', '13th row is empty' );
};
subtest 'TR_B2 _COUNTER_report_column_headings' => sub {
plan tests => 16;
my @report_column_headings = $sushi_counter_TR_B2->_COUNTER_report_column_headings;
# Standard TR_J4 column headings
is( $report_column_headings[0][0], 'Title', '1st column heading is title' );
is( $report_column_headings[0][1], 'Publisher', '2nd column heading is publisher' );
is( $report_column_headings[0][2], 'Publisher_ID', '3rd column heading is publisher ID' );
is( $report_column_headings[0][3], 'Platform', '4th column heading is platform' );
is( $report_column_headings[0][4], 'DOI', '5th column heading is DOI' );
is( $report_column_headings[0][5], 'Proprietary_ID', '6th column heading is proprietary ID' );
is( $report_column_headings[0][6], 'ISBN', '7th column heading is ISBN' );
is( $report_column_headings[0][7], 'Print_ISSN', '8th column heading is print ISSN' );
is( $report_column_headings[0][8], 'Online_ISSN', '9th column heading is online ISSN' );
is( $report_column_headings[0][9], 'URI', '10th column heading is URI' );
is( $report_column_headings[0][10], 'YOP', '11th column heading is yop' );
is( $report_column_headings[0][11], 'Metric_Type', '12th column heading is metric type' );
is( $report_column_headings[0][12], 'Reporting_Period_Total', '13th column heading is reporting period total' );
# Months column headings
is( $report_column_headings[0][13], 'Nov 2022', '14th column is month column heading' );
is( $report_column_headings[0][14], 'Dec 2022', '15th column is the last month column heading' );
is( $report_column_headings[0][15], undef, '16th column is empty, no more months' );
};
subtest 'TR_B2 _COUNTER_report_body' => sub {
plan tests => 18;
my @report_body = $sushi_counter_TR_B2->_COUNTER_report_body;
# The same title is sequential but for different metric types
is(
$report_body[0][0], 'Handbook of Nuclear Engineering',
'different title, only one metric type'
);
is(
$report_body[1][0], 'Human Resource Management in International Firms',
'different title, only one metric type'
);
is( $report_body[0][11], 'No_License', '1 rows for 1st title, metric type' );
is( $report_body[1][11], 'No_License', '1 rows for 2nd title, metric type' );
# The data is in the correct column
is( $report_body[2][0], 'Understanding Disability', '1st column is title' );
is( $report_body[2][1], 'Test Publisher E', '2nd column is publisher' );
is( $report_body[2][2], '', '3rd column heading is publisher ID' );
is( $report_body[2][3], 'Test Platform', '4th column is platform' );
is( $report_body[2][4], '10.1007/978-1-349-24269-6', '5th column is DOI' );
is( $report_body[2][5], 'SN:TEST/978-1-349-24269-6', '6th column is proprietary ID' );
is( $report_body[2][6], '978-1-349-24269-6', '7th column is ISBN' );
is( $report_body[2][7], '', '8th column is print ISSN' );
is( $report_body[2][8], '', '9th column is online ISSN' );
is( $report_body[2][9], '', '10th column is URI' );
is( $report_body[2][10], '1996', '11th column is yop' );
is( $report_body[2][11], 'No_License', '12th column is access type' );
is( $report_body[2][12], 1, '13th column is reporting period total' );
# The period total is the sum of all the month columns
my $stats_total = 0;
for ( my $i = 13 ; $i < 15 ; $i++ ) {
$stats_total += $report_body[0][$i];
}
is(
$report_body[0][13], $stats_total,
'Reporting period total matches the sum of all the monthly usage statistics'
);
};

View File

@ -0,0 +1,443 @@
{
"Report_Header": {
"Created": "2023-11-28T12:53:04Z",
"Created_By": "Test Systems Inc.",
"Customer_ID": "TEST_CUSTOMER_ID",
"Report_ID": "TR_B2",
"Release": "5",
"Report_Name": "Book Access Denied",
"Institution_Name": "Test Institution",
"Institution_ID": [{ "Type": "Proprietary", "Value": "SN:TEST_CUSTOMER_ID" }],
"Report_Filters": [
{ "Name": "Data_Type", "Value": "Book" },
{ "Name": "Access_Method", "Value": "Regular" },
{ "Name": "Metric_Type", "Value": "Limit_Exceeded|No_License" },
{ "Name": "Begin_Date", "Value": "2022-11-01" },
{ "Name": "End_Date", "Value": "2022-12-31" }
]
},
"Report_Items": [
{
"Title": "Handbook of Nuclear Engineering",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-0-387-98149-9" },
{ "Type": "ISBN", "Value": "978-0-387-98149-9" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-0-387-98149-9" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher",
"YOP": "2010",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 3 }]
}
]
},
{
"Title": "Human Resource Management in International Firms",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-349-11255-5" },
{ "Type": "ISBN", "Value": "978-1-349-11255-5" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-349-11255-5" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher D",
"YOP": "1990",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Understanding Disability",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-349-24269-6" },
{ "Type": "ISBN", "Value": "978-1-349-24269-6" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-349-24269-6" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher E",
"YOP": "1996",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Learning from Disasters: A Management Approach",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-349-27902-9" },
{ "Type": "ISBN", "Value": "978-1-349-27902-9" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-349-27902-9" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher E",
"YOP": "2005",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Handbook of Nuclear Chemistry",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4419-0720-2" },
{ "Type": "ISBN", "Value": "978-1-4419-0720-2" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4419-0720-2" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher",
"YOP": "2011",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Compound Semiconductor Device Modelling",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4471-2048-3" },
{ "Type": "ISBN", "Value": "978-1-4471-2048-3" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4471-2048-3" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher F",
"YOP": "1993",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Essentials of Carbohydrate Chemistry",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4612-1622-3" },
{ "Type": "ISBN", "Value": "978-1-4612-1622-3" },
{ "Type": "Print_ISSN", "Value": "0172-6323" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4612-1622-3" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher G",
"YOP": "1998",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 6 }]
}
]
},
{
"Title": "Elements of Statistical Disclosure Control",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4613-0121-9" },
{ "Type": "ISBN", "Value": "978-1-4613-0121-9" },
{ "Type": "Print_ISSN", "Value": "0930-0325" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4613-0121-9" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher G",
"YOP": "2001",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Seamless R and C++ Integration with Rcpp",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4614-6868-4" },
{ "Type": "ISBN", "Value": "978-1-4614-6868-4" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4614-6868-4" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher G",
"YOP": "2013",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Developing Applications with Azure Active Directory",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4842-5040-2" },
{ "Type": "ISBN", "Value": "978-1-4842-5040-2" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4842-5040-2" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher H",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Introduction to X-Ray Spectrometric Analysis",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-1-4899-2204-5" },
{ "Type": "ISBN", "Value": "978-1-4899-2204-5" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-1-4899-2204-5" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher",
"YOP": "1978",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Gypsy and Traveller Girls",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-03703-1" },
{ "Type": "ISBN", "Value": "978-3-030-03703-1" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-03703-1" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 2 }]
}
]
},
{
"Title": "Ernst Mach – Life, Work, Influence",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-04378-0" },
{ "Type": "ISBN", "Value": "978-3-030-04378-0" },
{ "Type": "Print_ISSN", "Value": "0929-6328" },
{ "Type": "Online_ISSN", "Value": "2215-1818" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-04378-0" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "The Palgrave Handbook of Male Psychology and Mental Health",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-04384-1" },
{ "Type": "ISBN", "Value": "978-3-030-04384-1" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-04384-1" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Handbook of Population",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-10910-3" },
{ "Type": "ISBN", "Value": "978-3-030-10910-3" },
{ "Type": "Print_ISSN", "Value": "1389-6903" },
{ "Type": "Online_ISSN", "Value": "2542-839X" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-10910-3" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Socioeconomic Inequality and Educational Outcomes",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-11991-1" },
{ "Type": "ISBN", "Value": "978-3-030-11991-1" },
{ "Type": "Print_ISSN", "Value": "2366-1631" },
{ "Type": "Online_ISSN", "Value": "2366-164X" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-11991-1" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Feng Shui: Teaching About Science and Pseudoscience",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-18822-1" },
{ "Type": "ISBN", "Value": "978-3-030-18822-1" },
{ "Type": "Print_ISSN", "Value": "2520-8594" },
{ "Type": "Online_ISSN", "Value": "2520-8608" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-18822-1" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2019",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 2 }]
}
]
},
{
"Title": "Human Aspects of IT for the Aged Population. Healthy and Active Aging",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-50249-2" },
{ "Type": "ISBN", "Value": "978-3-030-50249-2" },
{ "Type": "Print_ISSN", "Value": "0302-9743" },
{ "Type": "Online_ISSN", "Value": "1611-3349" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-50249-2" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2020",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 6 }]
}
]
},
{
"Title": "Bayesian Compendium",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-55897-0" },
{ "Type": "ISBN", "Value": "978-3-030-55897-0" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-55897-0" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2020",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "The Science of Citizen Science",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-58278-4" },
{ "Type": "ISBN", "Value": "978-3-030-58278-4" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-58278-4" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2021",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Accessible Housing for South Asia",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-030-88881-7" },
{ "Type": "ISBN", "Value": "978-3-030-88881-7" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-030-88881-7" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2022",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Advanced Informatics for Computing Research",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-031-09469-9" },
{ "Type": "ISBN", "Value": "978-3-031-09469-9" },
{ "Type": "Print_ISSN", "Value": "1865-0929" },
{ "Type": "Online_ISSN", "Value": "1865-0937" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-031-09469-9" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2022",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 2 }]
}
]
},
{
"Title": "SDG 14: Life Below Water",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-031-19467-2" },
{ "Type": "ISBN", "Value": "978-3-031-19467-2" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-031-19467-2" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2023",
"Performance": [
{
"Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
},
{
"Title": "Transforming Rural Communities in China and Beyond",
"Item_ID": [
{ "Type": "DOI", "Value": "10.1007/978-3-319-11319-7" },
{ "Type": "ISBN", "Value": "978-3-319-11319-7" },
{ "Type": "Proprietary", "Value": "SN:TEST/978-3-319-11319-7" }
],
"Platform": "Test Platform",
"Publisher": "Test Publisher A",
"YOP": "2015",
"Performance": [
{
"Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" },
"Instance": [{ "Metric_Type": "No_License", "Count": 1 }]
}
]
}
]
}