public void TestGame_QuizMasterSelectsInvalidGame_ThrowsException() { // arrange var actorId = Users.First(u => u.UserName == "Quiz master 1").Id; var command = new SelectGameCommand { GameId = Guid.Empty.ToShortGuidString(), ActorId = actorId }; // act & assert var exception = Assert.ThrowsExceptionAsync <DomainException>(() => Mediator.Send(command)).Result; Assert.AreEqual(ResultCode.InvalidEntityId, exception.ResultCode); Assert.AreEqual("Invalid GameId.", exception.Message); Assert.IsTrue(exception.IsBadRequest); }
public void TestGame_UnauthorizedQuizMasterSelectsGame_ThrowsException() { // arrange var actorId = Users.First(u => u.UserName == "Quiz master 2").Id; var command = new SelectGameCommand { GameId = Game.Id, ActorId = actorId }; // act & assert var exception = Assert.ThrowsExceptionAsync <DomainException>(() => Mediator.Send(command)).Result; Assert.AreEqual(ResultCode.QuizMasterUnauthorizedForGame, exception.ResultCode); Assert.AreEqual($"Actor with id {actorId} is not authorized for game '{Game.Id}'", exception.Message); Assert.IsTrue(exception.IsBadRequest); }
public void TestGame_QuizMasterSelectsValidGame_ReturnsUser() { // arrange var actorId = Users.First(u => u.UserName == "Quiz master 1").Id; var selectGameCommand = new SelectGameCommand { GameId = Game.Id, ActorId = actorId }; // act Mediator.Send(selectGameCommand).Wait(); // assert var updatedUser = UnitOfWork.GetCollection <User>().GetAsync(actorId).Result; Assert.IsNotNull(updatedUser); Assert.AreEqual(Game.Id, updatedUser.CurrentGameId); }
public GameDto(string title) { Title = title; SelectGameCommand = new SelectGameCommand(this); }