MethodsAndPractices / vsteam

PowerShell module for accessing Azure DevOps Services and Azure DevOps Server (formerly VSTS or TFS)
https://methodsandpractices.github.io/vsteam-docs/
MIT License
445 stars 155 forks source link

Topic/scaffold template with plaster #305

Closed SebastianSchuetze closed 4 years ago

SebastianSchuetze commented 4 years ago

PR Summary

Adding Plaster for scaffolding new commands for the module. Also adjusted the documentation for the contribution guide to making this mandatory for every new function.

In this case we make sure:

It closes #292

PR Checklist

SebastianSchuetze commented 4 years ago

@DarqueWarrior can you check the template if you think it applies to your desired coding standards?

DarqueWarrior commented 4 years ago

First this is awesome!

Some things I noticed.

When I selected Get as the cmdlet the sample code had

-Method "Post"

Should the selection of cmdlet be a freeform? I know there is an "approved" list of verbs but you can use "non-approved" verbs as well. I also noticed 'Invoke' was not listed and we have one of those.

What are your thoughts on adding Plaster as a dependency so it is downloaded for you when you install VSTeam?

Again this is a great addition.

SebastianSchuetze commented 4 years ago

Yes, we could add Plaster as a dependency. We have 2 options with Plaster that I can see:

Having said that to use Plaster as a dependency where we only use templates not included in the module does not make much sense (we also don't have Pester as a dependency). Unless we have jumpstart scripts for module users as well.

Yes, I wanted to ensure somehow approved verbs, but if you think it is too strict, then I can just use a free form. If we don't use the free form, but a common list of verbs, then we would have to add them in the future.

We can go as complex as you want. The Method is just hardcoded in the example.

DarqueWarrior commented 4 years ago

We might want to press pause on this until the Pester5 changes are done. The test structure is changing.

SebastianSchuetze commented 4 years ago

yes makes sense. I will be waiting to then adjust the unit test template.

SebastianSchuetze commented 4 years ago

@DarqueWarrior shall I resume and update the templates? Which unit test file do you think fits to convert it to a proper Pester 5 unit test template?

DarqueWarrior commented 4 years ago

I think this code should be its own project in the new org.

SebastianSchuetze commented 4 years ago

Ok cool. But we can make another PR once we have a small base of quickstart scripts then we can include them as plaster scripts in the module to have a quickstart for people.