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")); }
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); }
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); }
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); }
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); } }