diff --git a/src/Apps/W1/APIV1/test/src/APIV1SalesCreditMemosE2E.Codeunit.al b/src/Apps/W1/APIV1/test/src/APIV1SalesCreditMemosE2E.Codeunit.al index 26fc2078cdf..76cedb1b0cb 100644 --- a/src/Apps/W1/APIV1/test/src/APIV1SalesCreditMemosE2E.Codeunit.al +++ b/src/Apps/W1/APIV1/test/src/APIV1SalesCreditMemosE2E.Codeunit.al @@ -1015,6 +1015,8 @@ codeunit 139728 "APIV1 - Sales Credit Memos E2E" SalesHeader1RecordRef.GETTABLE(SalesHeader1); SalesHeader2RecordRef.GETTABLE(SalesHeader2); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, DATABASE::"Sales Header", 'Operation Occurred Date'); Assert.RecordsAreEqualExceptCertainFields( SalesHeader1RecordRef, SalesHeader2RecordRef, TempIgnoredFieldsForComparison, 'Credit Memos do not match'); diff --git a/src/Apps/W1/APIV1/test/src/APIV1SalesOrdersE2E.Codeunit.al b/src/Apps/W1/APIV1/test/src/APIV1SalesOrdersE2E.Codeunit.al index f9a02ff432e..02edf870bad 100644 --- a/src/Apps/W1/APIV1/test/src/APIV1SalesOrdersE2E.Codeunit.al +++ b/src/Apps/W1/APIV1/test/src/APIV1SalesOrdersE2E.Codeunit.al @@ -407,6 +407,8 @@ codeunit 139711 "APIV1 - Sales Orders E2E" PageSalesHeader.Get(PageSalesHeader."Document Type"::Order, SalesOrder."No.".VALUE()); ApiRecordRef.GetTable(ApiSalesHeader); PageRecordRef.GetTable(PageSalesHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, DATABASE::"Sales Header", 'Operation Occurred Date'); Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API order do not match'); diff --git a/src/Apps/W1/APIV1/test/src/APIV1SalesQuotesE2E.Codeunit.al b/src/Apps/W1/APIV1/test/src/APIV1SalesQuotesE2E.Codeunit.al index f7d370d6677..2c9af50edd8 100644 --- a/src/Apps/W1/APIV1/test/src/APIV1SalesQuotesE2E.Codeunit.al +++ b/src/Apps/W1/APIV1/test/src/APIV1SalesQuotesE2E.Codeunit.al @@ -391,6 +391,11 @@ codeunit 139723 "APIV1 - Sales Quotes E2E" PageSalesHeader.Get(PageSalesHeader."Document Type"::Quote, SalesQuote."No.".VALUE()); ApiRecordRef.GETTABLE(ApiSalesHeader); PageRecordRef.GETTABLE(PageSalesHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, DATABASE::"Sales Header", 'Operation Occurred Date'); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, DATABASE::"Sales Header", 'VAT Reporting Date'); + Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API quote do not match'); end; diff --git a/src/Apps/W1/APIV1/test/src/SalesInvoicesE2E.Codeunit.al b/src/Apps/W1/APIV1/test/src/SalesInvoicesE2E.Codeunit.al index 9d839757e46..6331acdecff 100644 --- a/src/Apps/W1/APIV1/test/src/SalesInvoicesE2E.Codeunit.al +++ b/src/Apps/W1/APIV1/test/src/SalesInvoicesE2E.Codeunit.al @@ -609,6 +609,9 @@ codeunit 139709 "Sales Invoices E2E" PageSalesHeader.GET(PageSalesHeader."Document Type"::Invoice, SalesInvoice."No.".VALUE()); ApiRecordRef.GETTABLE(ApiSalesHeader); PageRecordRef.GETTABLE(PageSalesHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, DATABASE::"Sales Header", 'Operation Occurred Date'); + Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API Invoice do not match'); diff --git a/src/Apps/W1/APIV2/test/src/APIV2PurchCrMemosE2E.Codeunit.al b/src/Apps/W1/APIV2/test/src/APIV2PurchCrMemosE2E.Codeunit.al index ef529ca543e..87af8d0755d 100644 --- a/src/Apps/W1/APIV2/test/src/APIV2PurchCrMemosE2E.Codeunit.al +++ b/src/Apps/W1/APIV2/test/src/APIV2PurchCrMemosE2E.Codeunit.al @@ -700,6 +700,8 @@ codeunit 139865 "APIV2 - Purch. Cr. Memos E2E" PurchaseHeader1RecordRef.GetTable(PurchaseHeader1); PurchaseHeader2RecordRef.GetTable(PurchaseHeader2); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Purchase Header", 'Operation Occurred Date'); Assert.RecordsAreEqualExceptCertainFields( PurchaseHeader1RecordRef, PurchaseHeader2RecordRef, TempIgnoredFieldsForComparison, 'Credit Memos do not match'); diff --git a/src/Apps/W1/APIV2/test/src/APIV2PurchaseOrdersE2E.Codeunit.al b/src/Apps/W1/APIV2/test/src/APIV2PurchaseOrdersE2E.Codeunit.al index d074fb583c0..c378d5bdffb 100644 --- a/src/Apps/W1/APIV2/test/src/APIV2PurchaseOrdersE2E.Codeunit.al +++ b/src/Apps/W1/APIV2/test/src/APIV2PurchaseOrdersE2E.Codeunit.al @@ -431,6 +431,8 @@ codeunit 139851 "APIV2 - Purchase Orders E2E" LibraryUtility.AddTempField(TempIgnoredFieldsForComparison, ApiPurchaseHeader.FieldNo("No."), Database::"Purchase Header"); LibraryUtility.AddTempField( TempIgnoredFieldsForComparison, ApiPurchaseHeader.FieldNo("Posting Description"), Database::"Purchase Header"); + LibraryUtility.AddTempField( + TempIgnoredFieldsForComparison, ApiPurchaseHeader.FieldNo("Order Date"), Database::"Purchase Header"); // Special ignore case for GB LibraryUtility.AddTempField(TempIgnoredFieldsForComparison, ApiPurchaseHeader.FieldNo("Invoice Received Date"), Database::"Purchase Header"); // Special ignore case for ES @@ -445,14 +447,14 @@ codeunit 139851 "APIV2 - Purchase Orders E2E" LibraryUtility.AddTempField(TempIgnoredFieldsForComparison, RecordField."No.", Database::"Purchase Header"); // Time zone will impact how the date from the page vs WebService is saved. If removed this will fail in snap between 12:00 - 1 AM - if Time() < 020000T then begin - LibraryUtility.AddTempField(TempIgnoredFieldsForComparison, ApiPurchaseHeader.FieldNo("Order Date"), Database::"Purchase Header"); + if Time() < 020000T then LibraryUtility.AddTempField(TempIgnoredFieldsForComparison, ApiPurchaseHeader.FieldNo("Posting Date"), Database::"Purchase Header"); - end; PagePurchaseHeader.Get(PagePurchaseHeader."Document Type"::Order, PurchaseOrder."No.".Value()); ApiRecordRef.GetTable(ApiPurchaseHeader); PageRecordRef.GetTable(PagePurchaseHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Purchase Header", 'Operation Occurred Date'); Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API order do not match'); diff --git a/src/Apps/W1/APIV2/test/src/APIV2SalesCreditMemosE2E.Codeunit.al b/src/Apps/W1/APIV2/test/src/APIV2SalesCreditMemosE2E.Codeunit.al index f9abde31df7..fe166e3c78a 100644 --- a/src/Apps/W1/APIV2/test/src/APIV2SalesCreditMemosE2E.Codeunit.al +++ b/src/Apps/W1/APIV2/test/src/APIV2SalesCreditMemosE2E.Codeunit.al @@ -983,6 +983,8 @@ codeunit 139828 "APIV2 - Sales Credit Memos E2E" SalesHeader1RecordRef.GetTable(SalesHeader1); SalesHeader2RecordRef.GetTable(SalesHeader2); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Sales Header", 'Operation Occurred Date'); Assert.RecordsAreEqualExceptCertainFields( SalesHeader1RecordRef, SalesHeader2RecordRef, TempIgnoredFieldsForComparison, 'Credit Memos do not match'); diff --git a/src/Apps/W1/APIV2/test/src/APIV2SalesInvoicesE2E.Codeunit.al b/src/Apps/W1/APIV2/test/src/APIV2SalesInvoicesE2E.Codeunit.al index f1fa3f06251..48c3cfab539 100644 --- a/src/Apps/W1/APIV2/test/src/APIV2SalesInvoicesE2E.Codeunit.al +++ b/src/Apps/W1/APIV2/test/src/APIV2SalesInvoicesE2E.Codeunit.al @@ -637,6 +637,9 @@ codeunit 139809 "APIV2 - Sales Invoices E2E" PageSalesHeader.Get(PageSalesHeader."Document Type"::Invoice, SalesInvoice."No.".Value()); ApiRecordRef.GetTable(ApiSalesHeader); PageRecordRef.GetTable(PageSalesHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Sales Header", 'Operation Occurred Date'); + Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API Invoice do not match'); diff --git a/src/Apps/W1/APIV2/test/src/APIV2SalesOrdersE2E.Codeunit.al b/src/Apps/W1/APIV2/test/src/APIV2SalesOrdersE2E.Codeunit.al index 76098510107..64f461f2dae 100644 --- a/src/Apps/W1/APIV2/test/src/APIV2SalesOrdersE2E.Codeunit.al +++ b/src/Apps/W1/APIV2/test/src/APIV2SalesOrdersE2E.Codeunit.al @@ -397,6 +397,8 @@ codeunit 139811 "APIV2 - Sales Orders E2E" PageSalesHeader.Get(PageSalesHeader."Document Type"::Order, SalesOrder."No.".Value()); ApiRecordRef.GetTable(ApiSalesHeader); PageRecordRef.GetTable(PageSalesHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Sales Header", 'Operation Occurred Date'); Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API order do not match'); diff --git a/src/Apps/W1/APIV2/test/src/APIV2SalesQuotesE2E.Codeunit.al b/src/Apps/W1/APIV2/test/src/APIV2SalesQuotesE2E.Codeunit.al index 0ce2588067e..6d47b2ce69e 100644 --- a/src/Apps/W1/APIV2/test/src/APIV2SalesQuotesE2E.Codeunit.al +++ b/src/Apps/W1/APIV2/test/src/APIV2SalesQuotesE2E.Codeunit.al @@ -377,6 +377,11 @@ codeunit 139823 "APIV2 - Sales Quotes E2E" PageSalesHeader.Get(PageSalesHeader."Document Type"::Quote, SalesQuote."No.".Value()); ApiRecordRef.GetTable(ApiSalesHeader); PageRecordRef.GetTable(PageSalesHeader); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Sales Header", 'Operation Occurred Date'); + LibraryGraphMgt.AddFieldToIgnoreIfExists( + TempIgnoredFieldsForComparison, Database::"Sales Header", 'VAT Reporting Date'); + Assert.RecordsAreEqualExceptCertainFields(ApiRecordRef, PageRecordRef, TempIgnoredFieldsForComparison, 'Page and API quote do not match'); end; diff --git a/src/DisabledTests/_Exclude_APIV1__Tests/_Exclude_APIV1__Tests.DisabledTest.json b/src/DisabledTests/_Exclude_APIV1__Tests/_Exclude_APIV1__Tests.DisabledTest.json index efe7e900b8f..35fefab11a3 100644 --- a/src/DisabledTests/_Exclude_APIV1__Tests/_Exclude_APIV1__Tests.DisabledTest.json +++ b/src/DisabledTests/_Exclude_APIV1__Tests/_Exclude_APIV1__Tests.DisabledTest.json @@ -1,24 +1,4 @@ [ - { - "codeunitId": 139709, - "codeunitName": "Sales Invoices E2E", - "method": "TestCreateInvoiceThroughPageAndAPI" - }, - { - "codeunitId": 139711, - "codeunitName": "APIV1 - Sales Orders E2E", - "method": "TestCreateOrderThroughPageAndAPI" - }, - { - "codeunitId": 139723, - "codeunitName": "APIV1 - Sales Quotes E2E", - "method": "TestCreateQuoteThroughPageAndAPI" - }, - { - "codeunitId": 139728, - "codeunitName": "APIV1 - Sales Credit Memos E2E", - "method": "TestCreateCreditMemoThroughPageAndAPI" - }, { "codeunitId": 139734, "codeunitName": "APIV1 - Sales Inv. Lines E2E", diff --git a/src/DisabledTests/_Exclude_APIV2__Tests/_Exclude_APIV2__Tests.DisabledTest.json b/src/DisabledTests/_Exclude_APIV2__Tests/_Exclude_APIV2__Tests.DisabledTest.json index 6af862e2968..d02899103a0 100644 --- a/src/DisabledTests/_Exclude_APIV2__Tests/_Exclude_APIV2__Tests.DisabledTest.json +++ b/src/DisabledTests/_Exclude_APIV2__Tests/_Exclude_APIV2__Tests.DisabledTest.json @@ -4,36 +4,6 @@ "codeunitName": "APIV2 - Company Info. E2E", "method": "TestGetCompanyAndEnvironmentDescriptions" }, - { - "codeunitId": 139809, - "codeunitName": "APIV2 - Sales Invoices E2E", - "method": "TestCreateInvoiceThroughPageAndAPI" - }, - { - "codeunitId": 139811, - "codeunitName": "APIV2 - Sales Orders E2E", - "method": "TestCreateOrderThroughPageAndAPI" - }, - { - "codeunitId": 139823, - "codeunitName": "APIV2 - Sales Quotes E2E", - "method": "TestCreateQuoteThroughPageAndAPI" - }, - { - "codeunitId": 139828, - "codeunitName": "APIV2 - Sales Credit Memos E2E", - "method": "TestCreateCreditMemoThroughPageAndAPI" - }, - { - "codeunitId": 139851, - "codeunitName": "APIV2 - Purchase Orders E2E", - "method": "TestCreateOrderThroughPageAndAPI" - }, - { - "codeunitId": 139865, - "codeunitName": "APIV2 - Purch. Cr. Memos E2E", - "method": "TestCreateCreditMemoThroughPageAndAPI" - }, { "codeunitId": 139928, "codeunitName": "APIV2 - Purch. Ret. Shpts. E2E", diff --git a/src/Layers/W1/Tests/TestLibraries/LibraryGraphMgt.Codeunit.al b/src/Layers/W1/Tests/TestLibraries/LibraryGraphMgt.Codeunit.al index bc37687e68c..983d66ef17b 100644 --- a/src/Layers/W1/Tests/TestLibraries/LibraryGraphMgt.Codeunit.al +++ b/src/Layers/W1/Tests/TestLibraries/LibraryGraphMgt.Codeunit.al @@ -16,6 +16,21 @@ codeunit 130618 "Library - Graph Mgt" FailedRequestErr: Label '%1 request failed. Response code is %2 (%3). %4', Comment = '%1 - request method, %2 - response code number, %3 - response code, %4 - error message'; FailedRequestWithUnexpectedResponseCodeErr: Label '%1 request failed. Response code is %2 (%3), expected code is %4. %5', Comment = '%1 - request method, %2 - response code number, %3 - response code, %4 - expected response code, %5 - error message'; + /// Adds a field to the ignored-field buffer when the field exists in the source table. + /// Temporary ignored-field buffer. + /// Source table number. + /// Source field name. + procedure AddFieldToIgnoreIfExists(var TempIgnoredFields: Record 2000000041 temporary; SourceTableNo: Integer; SourceFieldName: Text) + var + RecordField: Record Field; + LibraryUtility: Codeunit "Library - Utility"; + begin + RecordField.SetRange(TableNo, SourceTableNo); + RecordField.SetRange(FieldName, SourceFieldName); + if RecordField.FindFirst() then + LibraryUtility.AddTempField(TempIgnoredFields, RecordField."No.", SourceTableNo); + end; + /// /// Sets the authentication provider used by this library instance. /// Selecting the same provider preserves its cached state.