Adding CollectAction to Spawnables
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user