public async Task GetPlot_OK()
        {
            var result = new Domain.Plot
            {
                PlotId      = 1,
                Choices     = new List <Domain.Plot>(),
                Action      = "Yes",
                Description = "test"
            };

            _adventureServiceMock.Setup(adv => adv.GetPlot(It.IsAny <int>())).ReturnsAsync(result);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetPlot(1);

            var objResult = res.Result as ObjectResult;

            Assert.NotNull(res);
            Assert.True(objResult.StatusCode == (int)HttpStatusCode.OK);
            var value = Assert.IsType <Domain.Plot>(objResult.Value);

            Assert.Equal(result.PlotId, value.PlotId);
            Assert.Equal(result.Description, value.Description);
            Assert.Equal(result.Choices.Count, value.Choices.Count);
        }
        public async Task GetPlot_Failed()
        {
            _adventureServiceMock.Setup(opp => opp.GetPlot(It.IsAny <int>())).ThrowsAsync(new Exception());

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetPlot(1);

            var ObjRes = res.Result as StatusCodeResult;

            Assert.NotNull(res);
            Assert.True(ObjRes.StatusCode == 500);
        }
        public async Task GetPlot_BadRequest()
        {
            var result = new Domain.Plot
            {
                PlotId      = 1,
                Choices     = new List <Domain.Plot>(),
                Action      = "Yes",
                Description = "test"
            };

            _adventureServiceMock.Setup(adv => adv.GetPlot(It.IsAny <int>())).ReturnsAsync(result);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetPlot(-1);

            var ObjRes = res.Result as BadRequestResult;

            Assert.NotNull(res);
            Assert.True(ObjRes.StatusCode == 400);
        }