Skip to content

Latest commit

 

History

History
113 lines (62 loc) · 4.55 KB

File metadata and controls

113 lines (62 loc) · 4.55 KB

Hi 👋 Welcome to Visage's contributing guide

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

IMP: Do not open up a GitHub issue if the bug is a security vulnerability, please refer to our security policy.

Visage is being developed in the open, and is constantly being improved by our users, contributors, and maintainers. It is because of you🫵 that we can bring great software to the community, and make this project successful.

This guide provides information on filing issues and guidelines for open source contributors. Please leave comments / suggestions if you find something is missing or incorrect.

Table Of Contents

Code of Conduct

I don't want to read this whole thing, I just have a question!!!

Get Started

How Can I Contribute?

Testing (TUnit)

Code of Conduct

Keep our community approachable and respectable. This project and everyone participating in it is governed by the Hackerspace Mumbai's Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to community@hackmum.in.

If you just have a question?

Note: Please don't file an issue to ask a question.

We have an official message board with a detailed FAQ and where the community chimes in with helpful advice if you have questions.

Github Discussions, the official Visage message board

or you can begin a conversation on our social media:

Get Started

To get an overview of the project, your first stop should be our README. Check out the project wiki for the overall design and architecture related information.

TODO: Depict and explain Repository structure

How Can I Contribute?

You need to have rudimentary git and GitHub knowledge

Reporting Issues

We have two types of GitHub issues:

  1. Bug Reports
  2. Feature Requests

Following the guidelines as mentioned in the respective template will help maintainers and the community understand your report 📝, reproduce the behavior 💻🖥️, and find related issues 🔍.

Note: If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.

Make Changes

PR are always welcome, even if they only contain small fixes like typos or a few lines of code. But, please document it as an issue as per the PR template , get a discussion going, and ensure a maintainer has approved the go-ahead before starting to work on it.

If its hacktoberfest related, the maintainer will suitably label the PR as hacktoberfest.

Testing (TUnit)

Visage uses TUnit for automated tests.

Running tests

# Run all tests

dotnet test

Selecting tests (TUnit --treenode-filter)

TUnit supports selecting tests using --treenode-filter.

Filter format: /<Assembly>/<Namespace>/<Class name>/<Test name> (wildcards supported with *).

# Run all tests in a class

dotnet test --project tests\Visage.Test.Aspire\Visage.Test.Aspire.csproj --treenode-filter "/*/*/HealthEndpointTests/*"

# Run a single test by name

dotnet test --project tests\Visage.Test.Aspire\Visage.Test.Aspire.csproj --treenode-filter "/*/*/*/All_Http_Resources_Should_Have_Health_Endpoints"

Selecting by category

Many tests use [Category("...")] (for example RequiresAuth, AspireHealth, E2E).

TUnit supports property-based filters:

# Run RequiresAuth tests

dotnet test --project tests\Visage.Test.Aspire\Visage.Test.Aspire.csproj --treenode-filter "/*/*/*/*[Category=RequiresAuth]"

# Exclude RequiresAuth tests

dotnet test --project tests\Visage.Test.Aspire\Visage.Test.Aspire.csproj --treenode-filter "/*/*/*/*[Category!=RequiresAuth]"

Note: Avoid vstest --filter guidance for TUnit runs; prefer --treenode-filter.

Looking forward to your contribution 🙏