using GameAuthApi.Controllers; using GameAuthApi.Models; using GameAuthApi.Services; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; public class SpawnableControllerTests { private static IConfiguration config = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary { {"MongoDB:ConnectionString","mongodb://localhost"}, {"MongoDB:DatabaseName","test"} }).Build(); [Fact] public async Task Create_ReturnsOk() { var svc = new Mock(config); svc.Setup(s => s.CreateAsync(It.IsAny())).Returns(Task.CompletedTask).Verifiable(); var controller = new SpawnableController(svc.Object); var result = await controller.Create(new CreateSpawnableRequest { Name = "item", SpawnRate = 50 }); Assert.IsType(result); svc.Verify(); } [Fact] public async Task GetAll_ReturnsOk() { var svc = new Mock(config); var list = new List(); svc.Setup(s => s.GetAllAsync()).ReturnsAsync(list); var controller = new SpawnableController(svc.Object); var result = await controller.GetAll(); var ok = Assert.IsType(result); Assert.Equal(list, ok.Value); } }