Ejemplo n.º 1
0
        public async Task AddInfoAsync__An_unexpected_internal_error_occurred__Should_throw_Exception()
        {
            _infoDbServiceMock.Setup(x => x.AddAsync(It.IsAny <VisitInfo>())).ThrowsAsync(new Exception());
            _infoDbServiceMock.Setup(x => x.RestrictedAddAsync(It.IsAny <VisitInfo>())).ThrowsAsync(new Exception());
            var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object);
            var infoDto    = CreateInfoDto(CreateModel.CreateInfo());

            Func <Task> result = async() => await controller.AddInfoAsync(infoDto);

            await result.Should().ThrowExactlyAsync <Exception>();
        }
Ejemplo n.º 2
0
        public async Task AddInfoAsync__Already_there_is_the_same_element_in_database__Should_return_400BadRequest_response()
        {
            _mapperMock.Setup(x => x.Map <VisitInfo>(_infoDto)).Returns(_info);
            _infoDbServiceMock.Setup(x => x.AddAsync(It.IsNotNull <VisitInfo>())).ThrowsAsync(new InvalidOperationException());
            _infoDbServiceMock.Setup(x => x.RestrictedAddAsync(It.IsNotNull <VisitInfo>())).ThrowsAsync(new InvalidOperationException());
            var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object);
            var infoDto    = CreateInfoDto(CreateModel.CreateInfo());

            var result = await controller.AddInfoAsync(infoDto);

            (result as ObjectResult).StatusCode.Should().Be(400);
            ((result as ObjectResult).Value as ResponseWrapper).Error.Should().NotBeNull();
        }
Ejemplo n.º 3
0
        public async Task AddInfoAsync__An_internal_error_reffered_to_the_database_occurred__Should_throw_InternalDbServiceException()
        {
            // Example of these errors: database does not exist, table does not exist etc.

            _infoDbServiceMock.Setup(x => x.AddAsync(It.IsAny <VisitInfo>())).ThrowsAsync(new InternalDbServiceException());
            _infoDbServiceMock.Setup(x => x.RestrictedAddAsync(It.IsAny <VisitInfo>())).ThrowsAsync(new InternalDbServiceException());
            var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object);
            var infoDto    = CreateInfoDto(CreateModel.CreateInfo());

            Func <Task> result = async() => await controller.AddInfoAsync(infoDto);

            await result.Should().ThrowExactlyAsync <InternalDbServiceException>();
        }