Adding CollectAction to Spawnables

This commit is contained in:
hz
2025-06-08 21:24:06 -05:00
parent a88e50d111
commit ca829a0e23
4 changed files with 16 additions and 3 deletions
+2 -1
View File
@@ -24,7 +24,8 @@ public class SpawnableController : ControllerBase
var spawnable = new Spawnable
{
Name = req.Name.ToLower(),
SpawnRate = req.SpawnRate
SpawnRate = req.SpawnRate,
CollectAction = req.CollectAction
};
await _spawnableService.CreateAsync(spawnable);
@@ -17,10 +17,16 @@ public class SpawnableControllerTests
public async Task Create_ReturnsOk()
{
var svc = new Mock<SpawnableService>(config);
svc.Setup(s => s.CreateAsync(It.IsAny<Spawnable>())).Returns(Task.CompletedTask).Verifiable();
svc.Setup(s => s.CreateAsync(It.Is<Spawnable>(sp => sp.CollectAction == "gather")))
.Returns(Task.CompletedTask).Verifiable();
var controller = new SpawnableController(svc.Object);
var result = await controller.Create(new CreateSpawnableRequest { Name = "item", SpawnRate = 50 });
var result = await controller.Create(new CreateSpawnableRequest
{
Name = "item",
SpawnRate = 50,
CollectAction = "gather"
});
Assert.IsType<OkObjectResult>(result);
svc.Verify();
+3
View File
@@ -4,4 +4,7 @@ public class CreateSpawnableRequest
{
public string Name { get; set; }
public int SpawnRate { get; set; }
// Action players must perform to collect the item
public string CollectAction { get; set; }
}
+3
View File
@@ -11,4 +11,7 @@ public class Spawnable
public string Name { get; set; }
public int SpawnRate { get; set; }
// Action required by the player to collect this spawnable item
public string CollectAction { get; set; }
}