public async Task Create_returns_500_on_internal_error()
        {
            var company = new CreateCompanyDTO();

            repository.Setup(r => r.CreateCompanyAsync(company)).ThrowsAsync(new Exception());
            var controller = new CompanyRepositoryController(repository.Object);

            var actual = await controller.Create(company, true);

            var actionResult = Assert.IsType <ActionResult <Guid> >(actual);
            var code         = Assert.IsType <StatusCodeResult>(actionResult.Result);

            Assert.Equal(500, code.StatusCode);
        }
        public async Task Create_returns_200_and_id_of_created_company()
        {
            var nextMockedId = Guid.NewGuid();
            var company      = new CreateCompanyDTO();

            repository.Setup(r => r.CreateCompanyAsync(company)).ReturnsAsync(nextMockedId);
            var controller = new CompanyRepositoryController(repository.Object);

            var actual = await controller.Create(company, true);

            var actionResult = Assert.IsType <ActionResult <Guid> >(actual);
            var okResult     = Assert.IsType <OkObjectResult>(actionResult.Result);
            var actualId     = Assert.IsType <Guid>(okResult.Value);

            Assert.Equal(200, okResult.StatusCode);
            Assert.Equal(nextMockedId, actualId);
        }