Files
octokit.net/Octokit.Tests.Integration/Helpers/TeamContext.cs
notauserx 891015c39f update models with updated permission enum (#2633)
* update models with updated permission enum

* add suppress message attribute

* update integration tests

* refactor: new and legacy update teams endpint

* refactor: add new delete team endpoint

* use TeamPermission on NewTeam

* use updated delete on team context dispose

* add permission enum for team response object

* refactor: remove legacy suffix from method names

* introduce permissions object on Team

* refactor: rename enum to TeamRepositoryPermission

* fix formatting

* change Permission to string to match api specs

* add TeamRepository

* add CheckTeamPermission endpoint support

* fix convention tests

* update comments on TeamRepository props

* add two new endpoints in TeamsClient

* refactor: rename ApiUrl for TeamPermission

* fix test

* implement methods for new endpoints

* add the integration tests

* fix spelling

* update comments

* refactor: rename method name

* fix: add end tag for remarks

* refactor: remove unused method param

* fix docstring comment

* the unit tests are in finally

* add docs for teams api

* split CheckTeamPermissions into two methods

* Update ObservableTeamsClientTests.cs based on review

Co-authored-by: Keegan Campbell <me@kfcampbell.com>

* add cref to legacy update and delete endpoints

* remove editorconfig file

* Update Octokit.Tests/Clients/TeamsClientTests.cs

Co-authored-by: Keegan Campbell <me@kfcampbell.com>

* remove unused line

* rename variable based on review

* rename prop to match constructor param

* add comment to explain TeamPermission enum values on update

Co-authored-by: notauserx <notauserx@users.noreply.github.com>
Co-authored-by: Keegan Campbell <me@kfcampbell.com>
2023-01-20 10:48:00 -08:00

39 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
namespace Octokit.Tests.Integration.Helpers
{
internal sealed class TeamContext : IDisposable
{
internal TeamContext(IConnection connection, Team team)
{
_connection = connection;
Team = team;
TeamId = team.Id;
TeamName = team.Name;
Invitations = new List<string>();
}
private IConnection _connection;
internal int TeamId { get; private set; }
internal string TeamName { get; private set; }
internal Team Team { get; private set; }
internal List<string> Invitations { get; private set; }
public void InviteMember(string login)
{
Invitations.Add(Helper.InviteMemberToTeam(_connection, TeamId, login));
}
public void Dispose()
{
if (Invitations.Any())
Helper.DeleteInvitations(_connection, Invitations, TeamId);
Helper.DeleteTeam(_connection, Team);
}
}
}