Пример #1
0
        private async void When_new_acquirement_is_submitted()
        {
            var dto = new NewAcquirementDto()
            {
                ItemIsbn        = _itemDto.ISBN,
                ItemCopyNumbers = new [] { _itemCopyDto?.Number ?? 0 },
                LibraryId       = _libraryDto?.Id ?? Guid.Empty
            };

            var dtoJson = JsonConvert.SerializeObject(dto, new StringEnumConverter());

            _response = await _client.PostAsync("/integration/acquirements", new StringContent(dtoJson, Encoding.UTF8, "application/json"));
        }
Пример #2
0
 public void PostAcquirement_Given_NoItem_Should_ReturnBadRequest()
 {
     // Arrange
     var dto = new NewAcquirementDto()
     {
         ItemIsbn        = MockRepositories.Items.ANonExistingIsbn,
         ItemCopyNumbers = new[] { MockRepositories.ItemCopies.AnAvailableCopyNr },
         LibraryId       = MockRepositories.Libraries.AnExistingLibraryId
     };
     // Act
     var result = _controller.PostAcquirement(dto).Result;
     // Assert
     var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);
 }
Пример #3
0
        public void PostAcquirement_Should_FetchThisLibrary_Once()
        {
            // Arrange
            var dto = new NewAcquirementDto()
            {
                ItemIsbn        = MockRepositories.Items.AnExistingIsbn,
                ItemCopyNumbers = new[] { MockRepositories.ItemCopies.AnAvailableCopyNr },
                LibraryId       = MockRepositories.Libraries.AnExistingLibraryId
            };

            // Act
            _controller.PostAcquirement(dto).Wait();
            // Assert
            _libraryRepoMock.Verify(repo => repo.GetOne(MockRepositories.Libraries.ThisLibraryId), Times.Once);
        }
Пример #4
0
        public void PostAcquirement_Should_ReturnCreated()
        {
            // Arrange
            var dto = new NewAcquirementDto()
            {
                ItemIsbn        = MockRepositories.Items.AnExistingIsbn,
                ItemCopyNumbers = new[] { MockRepositories.ItemCopies.AnAvailableCopyNr },
                LibraryId       = MockRepositories.Libraries.AnExistingLibraryId
            };
            // Act
            var result = _controller.PostAcquirement(dto).Result;
            // Assert
            var createdResult = Assert.IsType <CreatedResult>(result);

            Assert.IsType <AcquirementDto>(createdResult.Value);
        }
Пример #5
0
        public void PostAcquirement_Should_FetchEachItemCopy()
        {
            // Arrange
            var dto = new NewAcquirementDto()
            {
                ItemIsbn        = MockRepositories.Items.AnExistingIsbn,
                ItemCopyNumbers = new[]
                {
                    MockRepositories.ItemCopies.AnAvailableCopyNr,
                    MockRepositories.ItemCopies.AnUnavailableCopyNr
                },
                LibraryId = MockRepositories.Libraries.AnExistingLibraryId
            };

            // Act
            _controller.PostAcquirement(dto).Wait();
            // Assert
            foreach (var copyNr in dto.ItemCopyNumbers)
            {
                _itemCopyRepoMock.Verify(repo => repo.GetOne(copyNr, dto.ItemIsbn), Times.Once);
            }
        }