Implemented the rest of the User Administration Client and tests, including observable classes.

This commit is contained in:
Jasmine
2016-01-28 19:29:30 -05:00
parent e93aa31351
commit 9e2eda5cee
8 changed files with 282 additions and 32 deletions
@@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using NSubstitute;
using Octokit.Reactive;
using Xunit;
using System.Reactive.Linq;
namespace Octokit.Tests.Reactive
{
@@ -13,10 +10,56 @@ namespace Octokit.Tests.Reactive
public class ThePromoteMethod
{
[Fact]
public void EnsuresArgumentIsNotNull()
public void GetsFromClientPromtePromote()
{
var client = new ObservableUserAdministrationClient();
Assert.Throws<ArgumentNullException>(() => client.Promote(null));
var administrationClient = Substitute.For<IUserAdministrationClient>();
var client = new ObservableUserAdministrationClient(administrationClient);
client.Promote("auser");
administrationClient.Received().Promote("auser");
}
}
public class TheDemoteMethod
{
[Fact]
public void GetsFromClientDemoteDemote()
{
var administrationClient = Substitute.For<IUserAdministrationClient>();
var client = new ObservableUserAdministrationClient(administrationClient);
client.Demote("auser");
administrationClient.Received().Demote("auser");
}
}
public class TheSuspendMethod
{
[Fact]
public void GetsFromClientSuspendSuspend()
{
var administrationClient = Substitute.For<IUserAdministrationClient>();
var client = new ObservableUserAdministrationClient(administrationClient);
client.Suspend("auser");
administrationClient.Received().Suspend("auser");
}
}
public class TheUnsuspendMethod
{
[Fact]
public void GetsFromClientUnsuspendUnsuspend()
{
var administrationClient = Substitute.For<IUserAdministrationClient>();
var client = new ObservableUserAdministrationClient(administrationClient);
client.Unsuspend("auser");
administrationClient.Received().Unsuspend("auser");
}
}
}