Skip to content

Commit 38fd8e8

Browse files
authored
Allow nullable for TerminalSettings (#1432)
* adjusted mustache templates and created test * test fix nullable * removed nullable test * added test for terminalSettings * adjusted import for terminalSettings test * Update model.mustache removed empty line
1 parent f7a6524 commit 38fd8e8

File tree

2 files changed

+57
-21
lines changed

2 files changed

+57
-21
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { TerminalSettings } from '../typings/management/terminalSettings';
2+
3+
describe('TerminalSettings properties', () => {
4+
let terminalSettings: TerminalSettings;
5+
6+
beforeEach(() => {
7+
terminalSettings = new TerminalSettings();
8+
});
9+
10+
test('should allow properties to be null', () => {
11+
terminalSettings.cardholderReceipt = null;
12+
terminalSettings.connectivity = null;
13+
terminalSettings.gratuities = null;
14+
terminalSettings.hardware = null;
15+
16+
expect(terminalSettings.cardholderReceipt).toBeNull();
17+
expect(terminalSettings.connectivity).toBeNull();
18+
expect(terminalSettings.gratuities).toBeNull();
19+
expect(terminalSettings.hardware).toBeNull();
20+
});
21+
22+
test('should allow properties to be undefined', () => {
23+
terminalSettings.cardholderReceipt = undefined;
24+
terminalSettings.connectivity = undefined;
25+
26+
expect(terminalSettings.cardholderReceipt).toBeUndefined();
27+
expect(terminalSettings.connectivity).toBeUndefined();
28+
});
29+
30+
test('should allow properties to have valid type values', () => {
31+
const mockGratuities = [{ /* mock Gratuity object */ }];
32+
terminalSettings.gratuities = mockGratuities;
33+
34+
expect(terminalSettings.gratuities).toBe(mockGratuities);
35+
});
36+
});

src/typings/management/terminalSettings.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,31 +31,31 @@ import { Timeouts } from './timeouts';
3131
import { WifiProfiles } from './wifiProfiles';
3232

3333
export class TerminalSettings {
34-
'cardholderReceipt'?: CardholderReceipt;
35-
'connectivity'?: Connectivity;
34+
'cardholderReceipt'?: CardholderReceipt | null;
35+
'connectivity'?: Connectivity | null;
3636
/**
3737
* Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.
3838
*/
3939
'gratuities'?: Array<Gratuity> | null;
40-
'hardware'?: Hardware;
41-
'localization'?: Localization;
42-
'nexo'?: Nexo;
43-
'offlineProcessing'?: OfflineProcessing;
44-
'opi'?: Opi;
45-
'passcodes'?: Passcodes;
46-
'payAtTable'?: PayAtTable;
47-
'payment'?: Payment;
48-
'receiptOptions'?: ReceiptOptions;
49-
'receiptPrinting'?: ReceiptPrinting;
50-
'refunds'?: Refunds;
51-
'signature'?: Signature;
52-
'standalone'?: Standalone;
53-
'storeAndForward'?: StoreAndForward;
54-
'surcharge'?: Surcharge;
55-
'tapToPay'?: TapToPay;
56-
'terminalInstructions'?: TerminalInstructions;
57-
'timeouts'?: Timeouts;
58-
'wifiProfiles'?: WifiProfiles;
40+
'hardware'?: Hardware | null;
41+
'localization'?: Localization | null;
42+
'nexo'?: Nexo | null;
43+
'offlineProcessing'?: OfflineProcessing | null;
44+
'opi'?: Opi | null;
45+
'passcodes'?: Passcodes | null;
46+
'payAtTable'?: PayAtTable | null;
47+
'payment'?: Payment | null;
48+
'receiptOptions'?: ReceiptOptions | null;
49+
'receiptPrinting'?: ReceiptPrinting | null;
50+
'refunds'?: Refunds | null;
51+
'signature'?: Signature | null;
52+
'standalone'?: Standalone | null;
53+
'storeAndForward'?: StoreAndForward | null;
54+
'surcharge'?: Surcharge | null;
55+
'tapToPay'?: TapToPay | null;
56+
'terminalInstructions'?: TerminalInstructions | null;
57+
'timeouts'?: Timeouts | null;
58+
'wifiProfiles'?: WifiProfiles | null;
5959

6060
static discriminator: string | undefined = undefined;
6161

0 commit comments

Comments
 (0)