예제 #1
0
        public async Task GetSimpleHouseByIdAvailableForUserAsync_HouseNotFound_ThrowsHouseNotFoundException()
        {
            // Arrange
            var houseSimpleInfo = new HouseSimpleInfo()
            {
                Id        = ObjectId.GenerateNewId(),
                OwnerId   = 123456789,
                MemberIds = new List <decimal>()
                {
                    123456789
                }
            };

            var exception = new InvalidOperationException("Sequence contains no elements");

            _houseRepositoryMock
            .Setup(hr => hr.FindOneAsync(
                       It.IsAny <PipelineDefinition <HouseInfo, HouseSimpleInfo> >(),
                       It.IsAny <CancellationToken>()))
            .Throws(exception);

            // Act
            // Assert
            await Assert.ThrowsExceptionAsync <HouseNotFoundException>(
                () => _houseService.GetSimpleHouseInfoByIdAvailableForUserAsync(houseSimpleInfo.Id, houseSimpleInfo.OwnerId));
        }
예제 #2
0
        public async Task GetSimpleHouseByIdAvailableForUserAsync_ReturnsHouseSimpleInfo()
        {
            // Arrange
            var houseSimpleInfo = new HouseSimpleInfo()
            {
                Id        = ObjectId.GenerateNewId(),
                OwnerId   = 123456789,
                MemberIds = new List <decimal>()
                {
                    123456789
                }
            };

            _houseRepositoryMock
            .Setup(hr => hr.FindOneAsync(
                       It.IsAny <PipelineDefinition <HouseInfo, HouseSimpleInfo> >(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(houseSimpleInfo);

            // Act
            var result = await _houseService.GetSimpleHouseInfoByIdAvailableForUserAsync(houseSimpleInfo.Id, houseSimpleInfo.OwnerId);

            // Assert
            Assert.AreSame(houseSimpleInfo, result);
        }
예제 #3
0
        public async Task GetHouseSimpleInfoByIdAvailableForUserAsync_ReturnsOkObjectResult()
        {
            // Arrange
            _httpContextAccessorMock
            .Setup(hca => hca.HttpContext)
            .Returns(HttpContextStubs.HttpContextWithUser);

            const string houseId = "000000000000000000000000";

            var houseSimpleInfo = new HouseSimpleInfo()
            {
                Id = ObjectId.Parse(houseId)
            };

            _houseT2ServiceMock
            .Setup(ht2s => ht2s.GetHouseSimpleInfoByIdAvailableForUserAsync(
                       It.IsAny <BsonObjectId>(),
                       It.IsAny <decimal>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(houseSimpleInfo);

            // Act
            var result = await _houseT3Service.GetHouseByIdAsync(houseId);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.IsInstanceOfType(result.Value, typeof(HouseSimpleInfoViewModel));
        }
예제 #4
0
        public async Task GetSimpleHouseByIdAvailableForUserAsync_TimeoutException_ThrowsException()
        {
            // Arrange
            var houseSimpleInfo = new HouseSimpleInfo()
            {
                Id        = ObjectId.GenerateNewId(),
                OwnerId   = 123456789,
                MemberIds = new List <decimal>()
                {
                    123456789
                }
            };

            _houseRepositoryMock
            .Setup(hr => hr.FindOneAsync(
                       It.IsAny <PipelineDefinition <HouseInfo, HouseSimpleInfo> >(),
                       It.IsAny <CancellationToken>()))
            .Throws <TimeoutException>();

            // Act
            // Assert
            await Assert.ThrowsExceptionAsync <TimeoutException>(
                () => _houseService.GetSimpleHouseInfoByIdAvailableForUserAsync(houseSimpleInfo.Id, houseSimpleInfo.OwnerId));
        }
예제 #5
0
        public async Task CreateHouseAsync_ReturnsOkObjectResult()
        {
            // Arrange
            _httpContextAccessorMock
            .Setup(hca => hca.HttpContext)
            .Returns(HttpContextStubs.HttpContextWithUser);

            var houseSimpleInfo = new HouseSimpleInfo();

            _houseT2ServiceMock
            .Setup(ht2s => ht2s.CreateHouseAsync(
                       It.IsAny <HouseCreationRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(houseSimpleInfo);

            var houseCreationRequestViewModel = new HouseCreationRequestViewModel();

            // Act
            var result = await _houseT3Service.CreateHouseAsync(houseCreationRequestViewModel);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.IsInstanceOfType(result.Value, typeof(HouseSimpleInfoViewModel));
        }