public void ShouldUpdateClientShares() { // Arrange var blockOfSharesRepositoryMock = Substitute.For <IBlockOfSharesRepository>(); var clientRepositoryMock = Substitute.For <IClientRepository>(); var sharesRepositoryMock = Substitute.For <ISharesRepository>(); var sut = new BlockOfSharesManager( blockOfSharesRepositoryMock, clientRepositoryMock, sharesRepositoryMock); int clientID = 1; int shareID = 3; int amount = 13; var blockOfShareToUpdate = new BlockOfShares { ClientID = clientID, ShareID = shareID, Amount = amount }; blockOfSharesRepositoryMock .IsClientHasShareType( blockOfShareToUpdate.ClientID, blockOfShareToUpdate.ShareID) .Returns(true); // Act sut.UpdateClientShares(blockOfShareToUpdate); // Asserts blockOfSharesRepositoryMock .Received(1) .ChangeShareAmountForClient(blockOfShareToUpdate); }
public void ShouldCreateClientSharesInsteadOfUpdatingClientSharesThatDidntExist() { // Arrange var blockOfSharesRepositoryMock = Substitute.For <IBlockOfSharesRepository>(); var clientRepositoryMock = Substitute.For <IClientRepository>(); var sharesRepositoryMock = Substitute.For <ISharesRepository>(); var sut = new BlockOfSharesManager( blockOfSharesRepositoryMock, clientRepositoryMock, sharesRepositoryMock); int clientID = 1; int shareID = 3; int amount = 13; var blockOfShareToUpdate = new BlockOfShares { ClientID = clientID, ShareID = shareID, Amount = amount }; blockOfSharesRepositoryMock .IsClientHasShareType( blockOfShareToUpdate.ClientID, blockOfShareToUpdate.ShareID) .Returns(false); // Act sut.UpdateClientShares(blockOfShareToUpdate); // Asserts blockOfSharesRepositoryMock .Received(1) .Insert(blockOfShareToUpdate); }