public void GivenCreateHanoiCommandWithTotalDisksLessThanOneShouldReturnNull() { var createHanoi = new CreateHanoiCommand { DiskCount = 1 }; var result = _hanoiCommandsHandler.Handle(createHanoi); Assert.IsNull(result); Assert.AreEqual(_hanoiCommandsHandler.Notifications.First(x => x.Property == "TotalDisks").Message, "The Hanoi Tower needs at least 2 disks to be played"); }
public void GivenCreateHanoiCommandWithTotalDisksGreaterThanOneShouldReturnNewHanoiId() { _hanoiMockedRepository.Setup(x => x.NoTransactionAdd(It.IsAny <Hanoi>())).Returns(new Hanoi(3)); var createHanoi = new CreateHanoiCommand { DiskCount = 3 }; var result = _hanoiCommandsHandler.Handle(createHanoi); Assert.IsNotNull(result); Assert.IsFalse(string.IsNullOrEmpty(result.Id)); }
public async Task <HttpResponseMessage> Post([FromBody] CreateHanoiCommand command) { var result = _hanoiCommandsHandler.Handle(command); if (!string.IsNullOrEmpty(result.Id)) { BackgroundJob.Enqueue(() => ProcessHanoi(Guid.Parse(result.Id))); } return(await Response(result, _hanoiCommandsHandler.Notifications)); ; }