Skip to content

Commit e425ea0

Browse files
committed
Add tests for the BankJournalExport class
1 parent 5740d7a commit e425ea0

2 files changed

Lines changed: 117 additions & 0 deletions

File tree

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
{
2+
"bankJournalExportIndexInYear": 1,
3+
"entityName": "Contoso",
4+
"entries": [
5+
{
6+
"accountingAccountExternalId": null,
7+
"accountingAccountNumber": "201.01000",
8+
"accountingCurrency": "USD",
9+
"agicapUniqueId": "f7f7ed5c-943c-4385-aa8d-145fd76b2fa1",
10+
"bankAccountName": "Cars bank account",
11+
"causale": "RIBA",
12+
"counterparts": [
13+
{
14+
"accountingAccountExternalId": null,
15+
"accountingAccountNumber": "140.0000",
16+
"accountingAccountType": "SUPPLIER",
17+
"accountingCurrency": null,
18+
"analyticalCodes": {},
19+
"creditInAccountingCurrency": null,
20+
"creditInOriginalCurrency": null,
21+
"customFields": null,
22+
"debitInAccountingCurrency": null,
23+
"debitInOriginalCurrency": 700000,
24+
"document": {
25+
"documentIssueDate": null,
26+
"documentReference": "INV-2025-0001",
27+
"documentType": "SUPPLIER_INVOICE",
28+
"externalEntityId": null,
29+
"externalId": "29a7e40d-3e7a-44bc-b245-0b7da2eaf5bd",
30+
"originalDueDate": "2025-12-21",
31+
"uniqueId": "yv73xx45"
32+
},
33+
"exchangeRate": null,
34+
"journalCode": "SG1",
35+
"linkedExportedEntry": null,
36+
"name": "ACME Invoice 1",
37+
"originalCurrency": "EUR",
38+
"taxKey": null,
39+
"thirdPartyCode": "S23",
40+
"thirdPartyExternalId": null,
41+
"thirdPartyName": "Supplier 23"
42+
},
43+
{
44+
"accountingAccountExternalId": null,
45+
"accountingAccountNumber": "140.0000",
46+
"accountingAccountType": "SUPPLIER",
47+
"accountingCurrency": "USD",
48+
"analyticalCodes": {"Country": "FR", "Project": "Marketing"},
49+
"creditInAccountingCurrency": null,
50+
"creditInOriginalCurrency": null,
51+
"customFields": [
52+
{"name": "ERP id", "value": "123"},
53+
{"name": "Company division", "value": "Cars"}
54+
],
55+
"debitInAccountingCurrency": 200000,
56+
"debitInOriginalCurrency": 300000,
57+
"document": {
58+
"documentIssueDate": null,
59+
"documentReference": "INV-2025-0002",
60+
"documentType": "SUPPLIER_INVOICE",
61+
"externalEntityId": null,
62+
"externalId": "37cfb760-8f09-4fc1-8269-18f92e6e90e4",
63+
"originalDueDate": "2025-12-21",
64+
"uniqueId": "2wrrwpou"
65+
},
66+
"exchangeRate": null,
67+
"journalCode": "SG1",
68+
"linkedExportedEntry": null,
69+
"name": "ACME Invoice 2",
70+
"originalCurrency": "EUR",
71+
"taxKey": null,
72+
"thirdPartyCode": "S23",
73+
"thirdPartyExternalId": null,
74+
"thirdPartyName": "Supplier 23"
75+
}
76+
],
77+
"creditInAccountingCurrency": 900000,
78+
"creditInOriginalCurrency": 1000000,
79+
"debitInAccountingCurrency": null,
80+
"debitInOriginalCurrency": null,
81+
"entryMemo": null,
82+
"exchangeRate": null,
83+
"exportEntryReference": "0o00001l",
84+
"indexInExport": 1,
85+
"indexInYear": 57,
86+
"journalCode": "SG1",
87+
"name": "ACME Payment",
88+
"originalCurrency": "EUR",
89+
"paymentDate": "2024-12-24",
90+
"type": "BANK"
91+
}
92+
],
93+
"exportId": "7397d1b5-d76d-43d2-a153-2bcff5e57455",
94+
"year": 2024
95+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
namespace Mc2it.Agicap.TreasuryBankJournal;
2+
3+
using System.Text.Json;
4+
5+
/// <summary>
6+
/// Tests the features of the <see cref="BankJournalExport"/> class.
7+
/// </summary>
8+
[TestClass]
9+
public sealed class BankJournalExportTests {
10+
11+
[TestMethod]
12+
public void FromJson() {
13+
var json = File.ReadAllText(Path.Join(AppContext.BaseDirectory, "../Resources/TreasuryBankJournal/BankJournalExport.json"));
14+
var bankJournalExport = JsonSerializer.Deserialize<BankJournalExport>(json, JsonSerializerOptions.Web)!;
15+
16+
AreEqual(1, bankJournalExport.BankJournalExportIndexInYear);
17+
AreEqual("Contoso", bankJournalExport.EntityName);
18+
HasCount(1, bankJournalExport.Entries);
19+
AreEqual(new Guid("7397d1b5-d76d-43d2-a153-2bcff5e57455"), bankJournalExport.ExportId);
20+
AreEqual(2024, bankJournalExport.Year);
21+
}
22+
}

0 commit comments

Comments
 (0)