Skip to content

Commit e57e65e

Browse files
committed
dropping anything between first and last words of extracted full names
1 parent c8146e8 commit e57e65e

File tree

5 files changed

+11
-11
lines changed

5 files changed

+11
-11
lines changed

lib/documentProcessor.test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ it('Expect APS bill to be detected and processed', async () => {
5757

5858
expect(response.found).toBe(true);
5959
expect(response.documentType).toBe('APS');
60-
expect(response.extracted.first_name).toBe('John A');
60+
expect(response.extracted.first_name).toBe('John');
6161
expect(response.extracted.last_name).toBe('Doe');
6262
expect(response.extracted.street_address_line_1).toBe('653 E ARAUCARIA LN');
6363
expect(response.extracted.street_address_line_2).toBe('');
@@ -91,7 +91,7 @@ it('Expect CITYOFPHOENIXWATER bill to be detected and processed', async () => {
9191

9292
expect(response.found).toBe(true);
9393
expect(response.documentType).toBe('City of Phoenix Water');
94-
expect(response.extracted.first_name).toBe('MARY A');
94+
expect(response.extracted.first_name).toBe('MARY');
9595
expect(response.extracted.last_name).toBe('GREGORY');
9696
expect(response.extracted.street_address_line_1).toBe('2560 E FIFTH AVE');
9797
expect(response.extracted.street_address_line_2).toBe('');
@@ -108,7 +108,7 @@ it('Expect SRP bill to be detected and processed', async () => {
108108

109109
expect(response.found).toBe(true);
110110
expect(response.documentType).toBe('SRP');
111-
expect(response.extracted.first_name).toBe('JANE F');
111+
expect(response.extracted.first_name).toBe('JANE');
112112
expect(response.extracted.last_name).toBe('FERGUSON');
113113
expect(response.extracted.street_address_line_1).toBe('3740 W GOETHE AVE');
114114
expect(response.extracted.street_address_line_2).toBe('');

lib/documentTypes/apsBill.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ module.exports = {
3131
const keys = Object.keys(keyValues);
3232
const lineWithCityStateZipCodeIndex = rawText.findIndex((line) => line.match(/^[A-Z\s]+ [A-Z]{2} \d+-\d+$/g));
3333
let fullName;
34-
// first name & last name (WARNING splitting full name by space potential inconsistency)
3534

3635
const first3Lines = rawText.slice(0, 3);
3736
fullName = first3Lines.find((line) => (
@@ -57,7 +56,8 @@ module.exports = {
5756
let street_address_line_1;
5857
let street_address_line_2;
5958
if (fullName) {
60-
first_name = fullName.split(' ').slice(0, -1).join(' ');
59+
// first name & last name (dropping anything between first and last words)
60+
first_name = fullName.split(' ').slice(0, 1).join(' ');
6161
last_name = fullName.split(' ').slice(-1).join(' ');
6262

6363
// street address line 1 & 2

lib/documentTypes/cityOfPhoenixWaterBill.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ module.exports = {
3030
},
3131

3232
extractor: (keyValues, rawText) => {
33-
// first name & last name (WARNING splitting full name by space potential inconsistency)
3433
const [, fullNameLine] = rawText;
3534
let first_name;
3635
let last_name;
3736
if (fullNameLine) {
38-
first_name = fullNameLine.split(' ').slice(0, -1).join(' ');
37+
// first name & last name (dropping anything between first and last words)
38+
first_name = fullNameLine.split(' ').slice(0, 1).join(' ');
3939
last_name = fullNameLine.split(' ').slice(-1).join(' ');
4040
}
4141

lib/documentTypes/southwestGasBill.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ module.exports = {
2929
},
3030

3131
extractor: (keyValues) => {
32-
// first name & last name (WARNING splitting full name by space potential inconsistency)
3332
const customer = keyValues['Customer:'];
3433
let first_name;
3534
let last_name;
3635
if (customer) {
37-
first_name = customer.split(' or ')[0].split(' ').slice(0, -1).join(' ');
36+
// first name & last name (dropping anything between first and last words)
37+
first_name = customer.split(' or ')[0].split(' ').slice(0, 1).join(' ');
3838
last_name = customer.split(' or ')[0].split(' ').slice(-1).join(' ');
3939
}
4040

lib/documentTypes/srpBill.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ module.exports = {
2828
},
2929

3030
extractor: (keyValues, rawText) => {
31-
// first name & last name (WARNING splitting full name by space potential inconsistency)
3231
const serviceFromLineIndex = rawText.findIndex((line) => line.match(/^SERVICE FROM (.*)$/g));
3332
let fullNameLine;
3433
let first_name;
3534
let last_name;
3635
if (serviceFromLineIndex >= 0) {
3736
fullNameLine = rawText[serviceFromLineIndex + 1];
38-
first_name = fullNameLine.split(' ').slice(0, -1).join(' ');
37+
// first name & last name (dropping anything between first and last words)
38+
first_name = fullNameLine.split(' ').slice(0, 1).join(' ');
3939
last_name = fullNameLine.split(' ').slice(-1).join(' ');
4040
}
4141

0 commit comments

Comments
 (0)