public async Task Delete_DeleteForbidden_ReturnsForbidden()
        {
            // Arrange
            var restrictedController = new AnyAsyncReadOnlyController(repository, logger);
            int id = 1;

            // Act
            var result = await restrictedController.Delete(id) as ObjectResult;

            // Assert
            result.Should().NotBeNull();
            result.StatusCode.Should().Be(403);
            A.CallTo(() => repository.Delete(id)).MustNotHaveHappened();
        }
        public async Task Delete_DeleteForbidden_ReturnsForbidden()
        {
            // TODO: Async Read-Only Controller
            // Arrange
            var    readOnlyController = new AnyAsyncReadOnlyController(_repository, _logger);
            string id = ObjectId.GenerateNewId().ToString();

            // Act
            var result = await readOnlyController.Delete(id) as ObjectResult;

            // Assert
            result.Should().NotBeNull();
            result.StatusCode.Should().Be(403);
            A.CallTo(() => _repository.RemoveAsync(id)).MustNotHaveHappened();
        }
        public async Task Create_CreateForbidden_ReturnsForbidden()
        {
            // TODO: Create Async ReadOnly Controller
            // Arrange
            var readOnlyController = new AnyAsyncReadOnlyController(_repository, _logger);
            var model = new AnyModel();

            // Act
            var result = await readOnlyController.Create(model) as ObjectResult;

            // Assert
            result.Should().NotBeNull();
            result.StatusCode.Should().Be(403);
            A.CallTo(() => _repository.CreateAsync(model)).MustNotHaveHappened();
        }