New command: Sync-ALTestCodeunit#25
Conversation
|
Hi Marton, Just now seeing yourinput: wow, that's great. We hadn't had time to pick up #24 yet. Will go and review your suggestions asap. Luc |
|
Great work and very much appreciated, Marton! There are a few things I would like to discuss with you - I hope that's OK?
A few questions about the code:
Looking forward to hearing from you! Notes to self:
|
|
@martonsagi Luc and I would like to suggest that we apply the changes in square brackets in the comment above before merging in your pull request. From what I understand, this requires that you check the "Allow Edits from Maintainers" checkbox (https://stackoverflow.com/questions/20928727/adding-commits-to-another-persons-pull-request-on-github) in your pull request. Could you please confirm that you have done so? |
|
@jhoek I'm not sure if I clicked that checkbox. I've added you as collaborator to my repo, hope that helps. Sorry for the long pause, I'm also hoping to have some time this weekend to write a proper reply. |
|
Ok, so I finally have the time for a proper reply.
This was my first thought when I finished the new cmdlet that almost 80% of it is identical so that could be better organized. If only I had more time then... :)
I think so too that ultimately it should be one cmdlet, I created a seperate class to demonstrate to possibilities.
I believe the functionality of InitializeFunction is useful and should remain a part of the generated code itself. I'm not sure if this is something I would ever set to false, hence the reason I changed it to a private property.
These are the parts of PowerShell magic that I would gladly leave to you for decision. This was literally my first PS CmdLet.:)
Agree, it was just easier for me to debug at the time.
Again, PS Magic, as you think it's the best way. Now that I've stated I have almost no idea about PS Cmdlet API :), I wanted to bring in another contribution point that may worth opening a separate issue. I've been thinking about the full-circle synchronization and how to create a solution that could do a bit more than inserting new test cases. This functionality worth having a backend library that the PS Cmdlets are able to utilize, therefore issues with repetitive functions can also be eliminated. I have created a new library that is able to extract TestFeature/TestScenario metadata from AL Codeunit files, and also writing it back into files. I hope a .NET Core 3.0 DLL is compatible with ATDD.TestScriptor project. Maybe this is something we could also work on to integrate into this PS module? Example: parsing Dept_TableTests.al which was generated with ATDD.TestScriptor :) |
|
@martonsagi Really like that ALObjectParser idea! If Luc agrees, I would like to look into that some more before deciding whether or not to invest time in the original approach. Do you think we could organise a short Skype call so that you can demo your idea and we can discuss it some more? @lvanvugt Are you in? :-) |
|
@martonsagi Full disclosure: I have taken some months off work to try and build a (potentially commercial) product for AL source code manipulation. I don't expect much functional or technical overlap, but it that's a concern for you, please let me know. |
|
Count me in |
|
@jhoek I'm glad you like it. :) Sure, Skype/Teams meeting works for me. Invited you on LinkedIn to discuss the details. |
|
@martonsagi As mentioned in our Skype call, my own project and your choice of license may be a good reason for me not to get heavily involved in your project. @lvanvugt will contact you later, but my latest idea was for me to just build the PowerShell-interface on top of your project, after some minor restructuring. I'll add my suggestions as issues on your GitHub project page for you to consider. |
|
@jhoek Sound fine for me! I'll review the proposals and continue the discussion there. |
As written on #5 I have (and still am) very busy with conducting courses. I will contact @martonsagi asap. |
Hi,
Your PS module helps me a lot with TDD by eliminating the tedious parts, so thanks!
My biggest issue is the need for code re-generation after any kind of scenario updates. Therefore I have added a Sync-ALTestCodeunit command that is currently capable of inserting new features/scenarios into an existing codeunit without deleting any custom code. (This was the most important to me :)
It may also serve as a placeholder to create a full-circle synchronization (#24).
Marton