Skip to the content

News

The “Universal Code Initiative”

A few months ago, I blogged about a new initiative from Microsoft: Microsoft Dynamics 365 Business Central Publisher program. At Directions EMEA, we got more insights to the program. There is still the same focus and intention – but with a different approach and name. I’d like to go more into details on that, as …

Azure AI in Business Central – The Forecasting Model

Azure AI in Business Central – The Forecasting Model AI (Artificial Intelligence) can be used with Business Central; there are

Addendum #01 – Scenario 0032 ‘Test that lookup value shows on standard Customer – List report’

Those who have already acquired and started to read might have discovered that there is a GitHub repo accompanying the book. They also might have seen that a number of out-scoped issues have been already listed. Issues I was going to handle after the book would published. So, here I am with my first addendum to the book tackling the incorporation of the new report extension object introduced in 2020 wave 2, aka BC18. When I was working on this part of the book – i.e. Chapter 8, test example 8 – there was a bug in the AL Language extension which made me decide to not yet include the report extension in the book. Instead I out-scoped it and parked it next to a handful of other issues. Now the book is published I will pick them up in the coming weeks and share them with you in a series of addendum posts.

This addendum is about a new scenario that addresses an additional customer wish, or ATDD scenario:

[FEATURE] LookupValue Report
[SCENARIO #0032] Test that lookup value shows on standard Customer – List report
[GIVEN] 2 customers with different lookup value
[WHEN] Run standard report Customer – List
[THEN] Report dataset contains both customers with lookup value

This introduces the following report extension object:

reportextension 50000 "CustomerListExt" extends "Customer - List"
{
    RDLCLayout = './reportlayouts/CustomerListDefault.rdl';

    dataset
    {
        add(Customer)
        {
            column(Customer_Lookup_Value_Code; "Lookup Value Code")
            {
                IncludeCaption = true;
            }
        }
    }
}

And of course the implementation of the test scenario in a new test method. You can find the added code in the GitHub repo.

Telemetry in BcContainerHelper 3.0.0

BcContainerHelper 3.0.0 just released and as something new, you will see this message when importing the module: BcContainerHelper emits usage statistics telemetry to Microsoft What does that m...()

Best Practices for (Per Tenant) Extensions | Protect Yourself

Time to get back to Best Practices for Per Tenant Extensions. This time we are going to discuss something that in my opinion should also be implemented by ISV’s in their AppSource solutions. By default, AL Objects are extensible. This means that everyone can take a dependency on your extension and therefor Microsoft does not

Contributing to “ALGuidelines.Dev”

I recently blogged about this new initiative .. the revival of the “NAV Design Patterns Wiki”: ALGuidelines.Dev . Time to talk a bit more on how you can contribute. I’m documenting this while I’m writing my very first pattern 😉 (I admit, I had this blogpost laying around for a while ;-)). Disclaimer We do …

Oh, TempBlob! What did you do?

The alternative title for this blog post would have been something like… TempBlob, why did you waste my time! Or waste thousands of hours accross our community. The topics of my blogs tend to be about what happens in the freelance projects I work on, and last week this was two extensions that have a

“GENERIC METHOD” | Brilliant or Anti Pattern?

I’ve been in doubt if I should write this post or not. Read it fast as it may disapear if I regret writing it. Ever since I started working with Navision, almost 25 years ago, I’ve had my own little stuborn ideas. These ideas got me where I am today, but just as often they

Business Central Online 19.1, 2D Barcodes Fonts are available

Business Central Online 19.1, 2D Barcodes Fonts are available Yes, 2D Barcode Fonts are real. Business Central Online includes the

Now Luc, tell me, why should I buy the 2nd edition of your book?

Various times I have been asked what the differences are between the 1st and 2nd edition of my book Automated Testing in Microsoft Dynamics 365 Business Central. Or in other words: Luc, tell me, why should I buy the 2nd edition of your book?

So, I made a quick overview of this as we are nearing the completion of the book.

Currently, we are reviewing our a** off this week trying to find any failure in the content, in the layout, the index, and in whatever else. This has been a more rigorous project than the 1st edition. Did I already tell you that this has been more worthwhile and more enjoyable also? Thanx to Nithya, Richa, Ruvika, Deeksha, Ananya, Prajakta, Rosal, Reshma, Subalakshmi, Manju, Tejal, Pradeep, Aaron and probably more to mention. IMHO Packt, as an organization, has made a major leap to getting things better done and to being closer to the author. Still – honesty commanding – it could be sometimes nerve wracking, though. And of course I should not fail to mention the three tremendously engaged reviewers that we got hooked into this project: Daniel, Maarten and Xavi.

Long-story-short: these are the differences between the two version:

Overall

The book has been updated to BC19, including a main part of the feedback from 10 interviewees (including the introduction of coloring the ATDD keywords). So, it’s fully extension based, where the 1st edition was on BC14 and thus partly still C/SIDE based.

Next to BC19 update 4 new chapters got added. See below.

1 Introduction to Automated Testing

Mainly the original chapter 1 with some rewrite/rework.

2 Test Automation and Test-Driven Development – New

New chapter, based on the former Appendix A, but extended tremendously giving TDD a explicit role in the 2nd edition.

red-green-refactor mantra

3 The Testability Framework

Mainly the original chapter 2 with some rewrite/rework.

MyFourthTestCodeunit results

4 The Test Tools, Standard Tests and Standard Test Libraries

Major rework of the former chapter 3 reflecting the current state with respect of the test tool, standard tests and test libraries being all AL based.

Select test codeunits in AL Test Tool

5 Test Plan and Test Design

Substantial rework of the former chapter 4 based on recent experiences and making an explicit split between test plan and test design.

Test Plan using Excel

6 From Customer Wish to Test Automation – The Basics

Rework of the former chapter 5 incorporating the notion of test plan and test design as discussed in the new chapter 5 and how to set them up.

Lookup Value case ER diagram

7 From Customer Wish to Test Automation – Next Level

Former chapter 6 with some rework.

Test Example 6 – Error

8 From Customer Wish to Test Automation – the TDD way

Major rework of the former chapter 7 approaching test automation examples the TDD way, next to introducing two new examples on refactoring and testing with permission. The former test example 8 was moved out into the new chapter 11.

Report

9 How to integrate Test Automation in Daily Development Practice

Major rework of the former chapter 8 including various new things like tools to enhance your daily development practice and a more extensive discussion on pipelines.

Pipeline Flowchart

10 Getting Microsoft Dynamics 365 Business Central Standard Tests Working on Your Code

Major rework of the former chapter 9 related to the fact that standard tests are also extensions and that running the ever growing collection of standard tests has some new challenges.

Tacking Results of Standard Tests

11 How to Construct Complex Scenarios – New

New chapter which, based on the former test example 8 in the former chapter 7, addresses the challenge of constructing complex scenarios and coding them.

Test Run Average Duration

12 Writing Testable Code – New

New chapter.

VAT Registration No. Validation for New EU Customer

13 Testing Outgoing and Incoming Calls – New

New chapter.

Incoming Call Test Flowchart

Appendix

Former Appendix B, extended with a section on how to setup your BC environment to allow it to run automated tests.

So ..

… enough reasons to buy it I hope.

If you have any queries feel free to add them as a comment below. I will be more then pleased to respond to them.