-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New command: Sync-ALTestCodeunit #25
base: master
Are you sure you want to change the base?
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