Adding CollectAction to Spawnables
This commit is contained in:
@@ -24,7 +24,8 @@ public class SpawnableController : ControllerBase
|
|||||||
var spawnable = new Spawnable
|
var spawnable = new Spawnable
|
||||||
{
|
{
|
||||||
Name = req.Name.ToLower(),
|
Name = req.Name.ToLower(),
|
||||||
SpawnRate = req.SpawnRate
|
SpawnRate = req.SpawnRate,
|
||||||
|
CollectAction = req.CollectAction
|
||||||
};
|
};
|
||||||
|
|
||||||
await _spawnableService.CreateAsync(spawnable);
|
await _spawnableService.CreateAsync(spawnable);
|
||||||
|
|||||||
@@ -17,10 +17,16 @@ public class SpawnableControllerTests
|
|||||||
public async Task Create_ReturnsOk()
|
public async Task Create_ReturnsOk()
|
||||||
{
|
{
|
||||||
var svc = new Mock<SpawnableService>(config);
|
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 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);
|
Assert.IsType<OkObjectResult>(result);
|
||||||
svc.Verify();
|
svc.Verify();
|
||||||
|
|||||||
@@ -4,4 +4,7 @@ public class CreateSpawnableRequest
|
|||||||
{
|
{
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public int SpawnRate { 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 string Name { get; set; }
|
||||||
public int SpawnRate { 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