65 lines
2.2 KiB
C#
65 lines
2.2 KiB
C#
using GameAuthApi.Controllers;
|
|
using GameAuthApi.Models;
|
|
using GameAuthApi.Services;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
public class UserControllerTests
|
|
{
|
|
[Fact]
|
|
public async Task GetAllUsers_ReturnsOk()
|
|
{
|
|
var users = new List<User>{ new User{ Username="u" } };
|
|
var config = new ConfigurationBuilder()
|
|
.AddInMemoryCollection(new Dictionary<string,string>
|
|
{
|
|
{"MongoDB:ConnectionString","mongodb://localhost"},
|
|
{"MongoDB:DatabaseName","test"}
|
|
}).Build();
|
|
var mockService = new Mock<UserService>(config);
|
|
mockService.Setup(s => s.GetAllAsync()).ReturnsAsync(users);
|
|
var controller = new UserController(mockService.Object);
|
|
|
|
var result = await controller.GetAllUsers();
|
|
|
|
var ok = Assert.IsType<OkObjectResult>(result);
|
|
Assert.Equal(users, ok.Value);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task DeleteUser_NotFound()
|
|
{
|
|
var config = new ConfigurationBuilder()
|
|
.AddInMemoryCollection(new Dictionary<string,string>
|
|
{
|
|
{"MongoDB:ConnectionString","mongodb://localhost"},
|
|
{"MongoDB:DatabaseName","test"}
|
|
}).Build();
|
|
var mockService = new Mock<UserService>(config);
|
|
mockService.Setup(s => s.DeleteAsync("no")).ReturnsAsync(false);
|
|
var controller = new UserController(mockService.Object);
|
|
|
|
var result = await controller.DeleteUser("no");
|
|
|
|
Assert.IsType<NotFoundObjectResult>(result);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task UpdateUser_NotFound()
|
|
{
|
|
var config = new ConfigurationBuilder()
|
|
.AddInMemoryCollection(new Dictionary<string,string>
|
|
{
|
|
{"MongoDB:ConnectionString","mongodb://localhost"},
|
|
{"MongoDB:DatabaseName","test"}
|
|
}).Build();
|
|
var mockService = new Mock<UserService>(config);
|
|
mockService.Setup(s => s.GetByUsernameAsync("no")).ReturnsAsync((User)null);
|
|
var controller = new UserController(mockService.Object);
|
|
|
|
var result = await controller.UpdateUser("no", new UpdateUserRequest { Email="e", Role="USER" });
|
|
|
|
Assert.IsType<NotFoundObjectResult>(result);
|
|
}
|
|
}
|