Skip to content

Commit 4a4e2b9

Browse files
committed
Fix missing export for TransactionService
1 parent 4968d67 commit 4a4e2b9

File tree

7 files changed

+2770
-2426
lines changed

7 files changed

+2770
-2426
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2022 James Croft
3+
Copyright (c) 2022-2023 James Croft
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ The Opayo (formerly SagePay) Form Integration Library for JavaScript is a librar
1111
## Install
1212

1313
```sh
14-
npm install opayo-form-integration-for-js
14+
npm install opayo-form-integration-js
1515
```
1616

1717
## Usage
1818

1919
### Initiating a payment
2020

2121
```js
22-
import { TransactionService, ITransaction, ITransactionDetail } from 'opayo-form-integration-for-js';
22+
import { TransactionService, ITransaction, ITransactionDetail } from 'opayo-form-integration-js';
2323

2424
var transactionService = new TransactionService();
2525

@@ -56,7 +56,7 @@ var transaction = await transactionService.initiateTransaction(transactionDetail
5656
### Handling a response
5757

5858
```js
59-
import { TransactionService, ITransactionResponse } from 'opayo-form-integration-for-js';
59+
import { TransactionService, ITransactionResponse } from 'opayo-form-integration-js';
6060

6161
var transactionService = new TransactionService();
6262

package-lock.json

Lines changed: 2709 additions & 2366 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@
5050
"made-data-validation": "^0.1.0-alpha.16"
5151
},
5252
"devDependencies": {
53-
"@types/faker": "^5.5.9",
54-
"@types/jest": "^27.5.0",
55-
"faker": "^5.5.3",
56-
"jest": "^27.5.1",
57-
"ts-jest": "^27.1.4",
58-
"typescript": "^4.9.5"
53+
"@faker-js/faker": "^8.2.0",
54+
"@types/jest": "^29.5.6",
55+
"jest": "^29.7.0",
56+
"jest-environment-jsdom": "^29.7.0",
57+
"ts-jest": "^29.1.1",
58+
"typescript": "^5.2.2"
5959
}
6060
}

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ export * from './ITransactionResponse';
88
export * from './ITransactionService';
99
export * from './MITType';
1010
export * from './SendEmailOption';
11+
export * from './TransactionService';
1112
export * from './TransactionStatus';
1213
export * from './TransactionType';

tests/TransactionService.spec.ts

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
1-
import faker from "faker";
1+
import { faker } from '@faker-js/faker';
22
import { TransactionService } from "../src/TransactionService";
3-
import { fakeTransactionDetail } from "./fakers/TransactionDetailFaker";
3+
import { transactionDetail } from "./fakers/TransactionDetailFaker";
44

55
describe("when initiating a transaction", () => {
66
test.each([
77
{ key: "VendorTxCode", value: "", validationError: "required" },
8-
{ key: "VendorTxCode", value: faker.datatype.string(41), validationError: "length" },
8+
{ key: "VendorTxCode", value: faker.string.sample(41), validationError: "length" },
99
{ key: "Amount", value: "", validationError: "required" },
1010
{ key: "Amount", value: 0, validationError: "greater than" },
1111
{ key: "Amount", value: 100001, validationError: "less than" },
1212
{ key: "Currency", value: "", validationError: "required" },
1313
{ key: "Description", value: "", validationError: "required" },
14-
{ key: "Description", value: faker.datatype.string(101), validationError: "length" },
14+
{ key: "Description", value: faker.string.sample(101), validationError: "length" },
1515
{ key: "SuccessURL", value: "", validationError: "required" },
16-
{ key: "SuccessURL", value: faker.datatype.string(2001), validationError: "length" },
16+
{ key: "SuccessURL", value: faker.string.sample(2001), validationError: "length" },
1717
{ key: "FailureURL", value: "", validationError: "required" },
18-
{ key: "FailureURL", value: faker.datatype.string(2001), validationError: "length" },
18+
{ key: "FailureURL", value: faker.string.sample(2001), validationError: "length" },
1919
{ key: "AcctId", value: "", validationError: "required" },
20-
{ key: "AcctId", value: faker.datatype.string(65), validationError: "length" },
20+
{ key: "AcctId", value: faker.string.sample(65), validationError: "length" },
2121
{ key: "CustomerName", value: "", validationError: "required" },
22-
{ key: "CustomerName", value: faker.datatype.string(101), validationError: "length" },
22+
{ key: "CustomerName", value: faker.string.sample(101), validationError: "length" },
2323
{ key: "CustomerEMail", value: "", validationError: "required" },
2424
{ key: "CustomerEMail", value: "jamescroft.co.uk", validationError: "email" },
2525
{ key: "CustomerEMail", value: "thisismyextremelylongemailaddressthatapparentlyopayodoesnotlikeandthinksisinvalidbutmightnotbe@jamescroft.co.uk", validationError: "length" },
2626
{ key: "BillingSurname", value: "", validationError: "required" },
27-
{ key: "BillingSurname", value: faker.datatype.string(21), validationError: "length" },
27+
{ key: "BillingSurname", value: faker.string.sample(21), validationError: "length" },
2828
{ key: "BillingFirstnames", value: "", validationError: "required" },
29-
{ key: "BillingFirstnames", value: faker.datatype.string(21), validationError: "length" },
29+
{ key: "BillingFirstnames", value: faker.string.sample(21), validationError: "length" },
3030
{ key: "BillingAddress1", value: "", validationError: "required" },
31-
{ key: "BillingAddress1", value: faker.datatype.string(51), validationError: "length" },
32-
{ key: "BillingAddress2", value: faker.datatype.string(51), validationError: "length" },
33-
{ key: "BillingAddress3", value: faker.datatype.string(51), validationError: "length" },
31+
{ key: "BillingAddress1", value: faker.string.sample(51), validationError: "length" },
32+
{ key: "BillingAddress2", value: faker.string.sample(51), validationError: "length" },
33+
{ key: "BillingAddress3", value: faker.string.sample(51), validationError: "length" },
3434
{ key: "BillingCity", value: "", validationError: "required" },
35-
{ key: "BillingCity", value: faker.datatype.string(41), validationError: "length" },
35+
{ key: "BillingCity", value: faker.string.sample(41), validationError: "length" },
3636
{ key: "BillingPostCode", value: "", validationError: "required" },
37-
{ key: "BillingPostCode", value: faker.datatype.string(11), validationError: "length" },
37+
{ key: "BillingPostCode", value: faker.string.sample(11), validationError: "length" },
3838
{ key: "BillingCountry", value: "", validationError: "required" },
39-
{ key: "BillingCountry", value: faker.datatype.string(3), validationError: "length" },
39+
{ key: "BillingCountry", value: faker.string.sample(3), validationError: "length" },
4040
{ key: "DeliverySurname", value: "", validationError: "required" },
41-
{ key: "DeliverySurname", value: faker.datatype.string(21), validationError: "length" },
41+
{ key: "DeliverySurname", value: faker.string.sample(21), validationError: "length" },
4242
{ key: "DeliveryFirstnames", value: "", validationError: "required" },
43-
{ key: "DeliveryFirstnames", value: faker.datatype.string(21), validationError: "length" },
43+
{ key: "DeliveryFirstnames", value: faker.string.sample(21), validationError: "length" },
4444
{ key: "DeliveryAddress1", value: "", validationError: "required" },
45-
{ key: "DeliveryAddress1", value: faker.datatype.string(51), validationError: "length" },
46-
{ key: "DeliveryAddress2", value: faker.datatype.string(51), validationError: "length" },
47-
{ key: "DeliveryAddress3", value: faker.datatype.string(51), validationError: "length" },
45+
{ key: "DeliveryAddress1", value: faker.string.sample(51), validationError: "length" },
46+
{ key: "DeliveryAddress2", value: faker.string.sample(51), validationError: "length" },
47+
{ key: "DeliveryAddress3", value: faker.string.sample(51), validationError: "length" },
4848
{ key: "DeliveryCity", value: "", validationError: "required" },
49-
{ key: "DeliveryCity", value: faker.datatype.string(41), validationError: "length" },
49+
{ key: "DeliveryCity", value: faker.string.sample(41), validationError: "length" },
5050
{ key: "DeliveryPostCode", value: "", validationError: "required" },
51-
{ key: "DeliveryPostCode", value: faker.datatype.string(11), validationError: "length" },
51+
{ key: "DeliveryPostCode", value: faker.string.sample(11), validationError: "length" },
5252
{ key: "DeliveryCountry", value: "", validationError: "required" },
53-
{ key: "DeliveryCountry", value: faker.datatype.string(3), validationError: "length" },
53+
{ key: "DeliveryCountry", value: faker.string.sample(3), validationError: "length" },
5454

5555
])
5656
("should throw an error if the $key is not valid ($validationError)", async ({ key, value, validationError }) => {
5757
// Arrange
5858
const transactionService = new TransactionService(true);
5959

60-
var transactionDetail = fakeTransactionDetail();
61-
transactionDetail[key] = value;
60+
var transaction = transactionDetail();
61+
transaction[key] = value;
6262

6363
// Act & Assert
6464
try {
65-
await transactionService.initiateTransaction(transactionDetail, 'opayotest', 'opayotest');
65+
await transactionService.initiateTransaction(transaction, 'opayotest', 'opayotest');
6666
} catch (e) {
6767
var message = (e as { message: string }).message;
6868
expect(message).toContain(validationError);
@@ -73,10 +73,10 @@ describe("when initiating a transaction", () => {
7373
// Arrange
7474
const transactionService = new TransactionService(true);
7575

76-
var transactionDetail = fakeTransactionDetail();
76+
var transaction = transactionDetail();
7777

7878
// Act
79-
var result = await transactionService.initiateTransaction(transactionDetail, 'opayotest', 'opayotest');
79+
var result = await transactionService.initiateTransaction(transaction, 'opayotest', 'opayotest');
8080

8181
// Assert
8282
expect(result).toBeDefined();
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
import faker from "faker";
1+
import { faker } from '@faker-js/faker';
22
import { ITransactionDetail } from "../../src/ITransactionDetail";
33

4-
export const fakeTransactionDetail = (): ITransactionDetail => {
4+
export const transactionDetail = (): ITransactionDetail => {
55
return {
6-
VendorTxCode: faker.datatype.uuid(),
6+
VendorTxCode: faker.string.uuid(),
77
Amount: faker.finance.amount(0.01, 100000),
88
Currency: "GBP",
9-
Description: faker.datatype.string(100),
9+
Description: faker.string.sample(100),
1010
SuccessURL: faker.internet.url(),
1111
FailureURL: faker.internet.url(),
12-
CustomerName: faker.name.findName(),
12+
CustomerName: faker.person.fullName(),
1313
CustomerEMail: faker.internet.email(),
1414
VendorEMail: faker.internet.email(),
15-
BillingSurname: faker.name.lastName(),
16-
BillingFirstnames: faker.name.firstName(),
17-
BillingAddress1: faker.address.streetAddress(false),
18-
BillingAddress2: faker.address.secondaryAddress(),
19-
BillingAddress3: faker.address.streetName(),
20-
BillingCity: faker.address.city(),
21-
BillingPostCode: faker.address.zipCode(),
22-
BillingCountry: faker.address.countryCode(),
23-
DeliverySurname: faker.name.lastName(),
24-
DeliveryFirstnames: faker.name.firstName(),
25-
DeliveryAddress1: faker.address.streetAddress(false),
26-
DeliveryAddress2: faker.address.secondaryAddress(),
27-
DeliveryAddress3: faker.address.streetName(),
28-
DeliveryCity: faker.address.city(),
29-
DeliveryPostCode: faker.address.zipCode(),
30-
DeliveryCountry: faker.address.countryCode(),
15+
BillingSurname: faker.person.lastName(),
16+
BillingFirstnames: faker.person.firstName(),
17+
BillingAddress1: faker.location.streetAddress(false),
18+
BillingAddress2: faker.location.secondaryAddress(),
19+
BillingAddress3: faker.location.street(),
20+
BillingCity: faker.location.city(),
21+
BillingPostCode: faker.location.zipCode(),
22+
BillingCountry: faker.location.countryCode(),
23+
DeliverySurname: faker.person.lastName(),
24+
DeliveryFirstnames: faker.person.firstName(),
25+
DeliveryAddress1: faker.location.streetAddress(false),
26+
DeliveryAddress2: faker.location.secondaryAddress(),
27+
DeliveryAddress3: faker.location.street(),
28+
DeliveryCity: faker.location.city(),
29+
DeliveryPostCode: faker.location.zipCode(),
30+
DeliveryCountry: faker.location.countryCode(),
3131
} as ITransactionDetail;
3232
}

0 commit comments

Comments
 (0)