I creating Web Api using .Net Core 2.0. I'm using Active Directory Graph API (https://learn.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet) for performing creating new user. I created IADGraphService with such interface
interface IADGraphService
{
bool CreateUser(UserModel model);
IList<UserModel> GetUsers();
bool UpdateUser(UserModel model);
bool DeleteUser(string userObjectId);
}
I'm thinking about creating integration test like:
// arrange
var service = new ADGraphService();
// act
bool result = service.CreateUser(new UserModel(){ Email = "test@example.com", ..... });
var users = service.GetUsers();
// assert
result.Should().Be(true);
users.Should().Contain(user => user.Email == "test@example.com");
Or maybe unit test implementation of such interface:
// arrange
......
var fakeHttpClient = new Mock<IHttpClient>();
fakeHttpClient.Setup(x => x.PostAsync(url, userModelContent)).Returns(mockJsonResult);
var service = new ADGraphService(fakeHttpClient.Object);
// act
var result = service.CreateUser(new UserModel { Email = "test@example.com", .......});
// assert
result.Should().Be(true);
Which one should be used for such case?