public async Task TestCreateValidModelShouldReturnTrue()
        {
            var model = new EdgeCreatePostModel()
            {
                From = 1, To = 2
            };

            var result = await controller.Create(model);

            var jsonResult = result as JsonResult;

            var created = jsonResult?.Value as bool?;

            Assert.IsTrue(created);
        }
        public async Task TestCreateInvalidModelShouldReturnErrorMessage()
        {
            controller.ModelState.AddModelError("test", "test");

            var model = new EdgeCreatePostModel
            {
                From = -1, To = 2
            };

            var result = await controller.Create(model);

            var badRequestResult = result as BadRequestObjectResult;

            Assert.IsNotNull(badRequestResult);
            Assert.AreEqual(400, badRequestResult.StatusCode);
            Assert.AreEqual("Invalid model for creating an edge", badRequestResult.Value as string);
        }
        public async Task <IActionResult> Create([FromBody] EdgeCreatePostModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid model for creating an edge"));
            }

            try
            {
                var res = await createEdge.ExecuteAsync(model.From, model.To);

                return(new JsonResult(res));
            }
            catch (Exception e)
            {
                return(BadRequest("Create edge failed"));
            }
        }