Skip to content

Commit 95bd779

Browse files
committed
Test corrections
1 parent c74812b commit 95bd779

6 files changed

Lines changed: 21 additions & 62 deletions

File tree

thoth-export-server/src/json/json_thoth.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ mod tests {
662662
"languages": [
663663
{
664664
"languageCode": "SPA",
665-
"languageRelation": "ORIGINAL",
665+
"languageRelation": "ORIGINAL"
666666
}
667667
],
668668
"publications": [

thoth-export-server/src/marc21/marc21record_thoth.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -869,8 +869,8 @@ pub(crate) mod tests {
869869
},
870870
},
871871
issues: vec![WorkIssues {
872-
issue_ordinal: 11,
873-
issue_number: Some(10),
872+
issue_ordinal: 12,
873+
issue_number: Some(11),
874874
series: WorkIssuesSeries {
875875
series_id: Uuid::parse_str("00000000-0000-0000-BBBB-000000000002").unwrap(),
876876
series_type: SeriesType::BOOK_SERIES,

thoth-export-server/src/xml/doideposit_crossref.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,20 +110,19 @@ impl XmlElementBlock<DoiDepositCrossref> for Work {
110110
write_full_element_block("book", Some(vec![("book_type", work_type)]), w, |w| {
111111
write_full_element_block(element_name, Some(vec![("language", "en")]), w, |w| {
112112
// Only one series can be listed, so we select the first one found (if any).
113-
let mut ordinal = None;
114-
if let Some((series, ord)) =
115-
self.issues.first().map(|i| (&i.series, i.issue_ordinal))
113+
let mut number = None;
114+
if let Some((series, num)) =
115+
self.issues.first().map(|i| (&i.series, i.issue_number))
116116
{
117117
XmlElementBlock::<DoiDepositCrossref>::xml_element(series, w)?;
118-
ordinal = Some(ord);
118+
number = num;
119119
}
120120
write_work_contributions(self, w)?;
121121
write_work_title(self, w)?;
122122
write_work_abstract(self, w)?;
123123

124-
if ordinal.is_some() {
125-
let ordinal_i64 = ordinal.unwrap_or(0);
126-
write_work_volume(ordinal_i64, w)?;
124+
if let Some(issue_number) = number {
125+
write_work_volume(issue_number, w)?;
127126
}
128127

129128
write_work_edition(self, w)?;

thoth-export-server/src/xml/onix31_thoth.rs

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2235,7 +2235,7 @@ mod tests {
22352235
r#"
22362236
<CollectionSequence>
22372237
<CollectionSequenceType>03</CollectionSequenceType>
2238-
<CollectionSequenceNumber>1</CollectionSequenceNumber>
2238+
<CollectionSequenceNumber>11</CollectionSequenceNumber>
22392239
</CollectionSequence>
22402240
<TitleDetail>
22412241
<TitleType>01</TitleType>
@@ -2406,31 +2406,6 @@ mod tests {
24062406
assert!(output.contains(r#" <IDValue>Number of grant</IDValue>"#));
24072407

24082408
test_funding.grant_number = None;
2409-
let output = generate_test_output(true, &test_funding);
2410-
assert!(output.contains(r#"<Publisher>"#));
2411-
assert!(output.contains(r#" <PublishingRole>16</PublishingRole>"#));
2412-
assert!(!output.contains(r#" <PublisherIdentifier>"#));
2413-
assert!(!output.contains(r#" <PublisherIDType>40</PublisherIDType>"#));
2414-
assert!(!output.contains(r#" <IDValue>0aaaaaa00</IDValue>"#));
2415-
assert!(!output.contains(r#" <PublisherIDType>32</PublisherIDType>"#));
2416-
assert!(!output.contains(r#" <IDValue>10.00001/INSTITUTION.0001</IDValue>"#));
2417-
assert!(output.contains(r#" <PublisherName>Different institution</PublisherName>"#));
2418-
assert!(output.contains(r#" <Funding>"#));
2419-
assert!(output.contains(r#" <FundingIdentifier>"#));
2420-
assert!(output.contains(r#" <FundingIDType>01</FundingIDType>"#));
2421-
// No program supplied
2422-
assert!(!output.contains(r#" <IDTypeName>programname</IDTypeName>"#));
2423-
assert!(!output.contains(r#" <IDValue>Name of program</IDValue>"#));
2424-
// No project supplied
2425-
assert!(!output.contains(r#" <IDTypeName>projectname</IDTypeName>"#));
2426-
assert!(!output.contains(r#" <IDValue>Name of project</IDValue>"#));
2427-
// No short name supplied
2428-
assert!(!output.contains(r#" <IDTypeName>projectshortname</IDTypeName>"#));
2429-
assert!(!output.contains(r#" <IDValue>Nop</IDValue>"#));
2430-
// No grant supplied
2431-
assert!(!output.contains(r#" <IDTypeName>grantnumber</IDTypeName>"#));
2432-
assert!(!output.contains(r#" <IDValue>Number of grant</IDValue>"#));
2433-
24342409
let output = generate_test_output(true, &test_funding);
24352410
assert!(output.contains(r#"<Publisher>"#));
24362411
assert!(output.contains(r#" <PublishingRole>16</PublishingRole>"#));

thoth-export-server/src/xml/onix3_project_muse.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,12 @@ impl XmlElementBlock<Onix3ProjectMuse> for WorkIssues {
735735
w.write(XmlEvent::Characters(&self.issue_ordinal.to_string()))
736736
.map_err(|e| e.into())
737737
})?;
738+
if let Some(issue_number) = &self.issue_number {
739+
write_element_block("PartNumber", w, |w| {
740+
w.write(XmlEvent::Characters(&issue_number.to_string()))
741+
.map_err(|e| e.into())
742+
})?;
743+
}
738744
write_element_block("TitleText", w, |w| {
739745
w.write(XmlEvent::Characters(&self.series.series_name))
740746
.map_err(|e| e.into())
@@ -1272,7 +1278,8 @@ mod tests {
12721278
assert!(output.contains(r#" <Collection>"#));
12731279
assert!(output.contains(r#" <CollectionType>10</CollectionType>"#));
12741280
assert!(output.contains(r#" <TitleElementLevel>02</TitleElementLevel>"#));
1275-
assert!(output.contains(r#" <SequenceNumber>1</SequenceNumber>"#));
1281+
assert!(output.contains(r#" <SequenceNumber>11</SequenceNumber>"#));
1282+
assert!(output.contains(r#" <PartNumber>1</PartNumber>"#));
12761283
assert!(output.contains(r#" <TitleText>Name of series</TitleText>"#));
12771284

12781285
// Test that OAPEN-only blocks are not output in Project MUSE format
@@ -1401,6 +1408,7 @@ mod tests {
14011408
test_work.license = None;
14021409
test_work.titles[0].subtitle = None;
14031410
test_work.page_count = None;
1411+
test_work.issues[0].issue_number = None;
14041412
// Remove abstracts to ensure long abstract text is not output
14051413
test_work.abstracts.clear();
14061414
test_work.toc = None;
@@ -1455,6 +1463,8 @@ mod tests {
14551463
assert!(!output.contains(r#" <ExtentType>00</ExtentType>"#));
14561464
assert!(!output.contains(r#" <ExtentValue>334</ExtentValue>"#));
14571465
assert!(!output.contains(r#" <ExtentUnit>03</ExtentUnit>"#));
1466+
// No issue number supplied
1467+
assert!(!output.contains(r#" <PartNumber>1</PartNumber>"#));
14581468
// No long abstract supplied
14591469
assert!(!output.contains(r#" <TextType>03</TextType>"#));
14601470
assert!(!output.contains(

thoth-export-server/src/xml/onix3_thoth.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2158,31 +2158,6 @@ mod tests {
21582158
assert!(output.contains(r#" <IDValue>Number of grant</IDValue>"#));
21592159

21602160
test_funding.grant_number = None;
2161-
let output = generate_test_output(true, &test_funding);
2162-
assert!(output.contains(r#"<Publisher>"#));
2163-
assert!(output.contains(r#" <PublishingRole>16</PublishingRole>"#));
2164-
assert!(!output.contains(r#" <PublisherIdentifier>"#));
2165-
assert!(!output.contains(r#" <PublisherIDType>40</PublisherIDType>"#));
2166-
assert!(!output.contains(r#" <IDValue>0aaaaaa00</IDValue>"#));
2167-
assert!(!output.contains(r#" <PublisherIDType>32</PublisherIDType>"#));
2168-
assert!(!output.contains(r#" <IDValue>10.00001/INSTITUTION.0001</IDValue>"#));
2169-
assert!(output.contains(r#" <PublisherName>Different institution</PublisherName>"#));
2170-
assert!(output.contains(r#" <Funding>"#));
2171-
assert!(output.contains(r#" <FundingIdentifier>"#));
2172-
assert!(output.contains(r#" <FundingIDType>01</FundingIDType>"#));
2173-
// No program supplied
2174-
assert!(!output.contains(r#" <IDTypeName>programname</IDTypeName>"#));
2175-
assert!(!output.contains(r#" <IDValue>Name of program</IDValue>"#));
2176-
// No project supplied
2177-
assert!(!output.contains(r#" <IDTypeName>projectname</IDTypeName>"#));
2178-
assert!(!output.contains(r#" <IDValue>Name of project</IDValue>"#));
2179-
// No short name supplied
2180-
assert!(!output.contains(r#" <IDTypeName>projectshortname</IDTypeName>"#));
2181-
assert!(!output.contains(r#" <IDValue>Nop</IDValue>"#));
2182-
// No grant supplied
2183-
assert!(!output.contains(r#" <IDTypeName>grantnumber</IDTypeName>"#));
2184-
assert!(!output.contains(r#" <IDValue>Number of grant</IDValue>"#));
2185-
21862161
let output = generate_test_output(true, &test_funding);
21872162
assert!(output.contains(r#"<Publisher>"#));
21882163
assert!(output.contains(r#" <PublishingRole>16</PublishingRole>"#));

0 commit comments

Comments
 (0)