public void ShouldRequestMultiplePagesIfThePageCountIsGreaterThanOne() { // Arrange int pages = 2; var pageCallbacks = new List <int>(); var mockClient = new Mock <IEdubaseClient>(); var sut = new EstablishmentClient(mockClient.Object); mockClient.Setup(x => x.FindEstablishments(It.IsAny <EstablishmentFilter>(), out pages)).Returns(new EstablishmentList()) .Callback <EstablishmentFilter, int>((x, y) => pageCallbacks.Add(x.Page)); // Act sut.FindEstablishments().ToList(); // Assert mockClient.Verify(x => x.FindEstablishments(It.IsAny <EstablishmentFilter>(), out pages), Times.Exactly(2)); CollectionAssert.Contains(pageCallbacks, 0); CollectionAssert.Contains(pageCallbacks, 1); }
public void ShouldIgnoreThePageIfItsExplicitlyStated() { // Arrange int pages = 2; var pageCallbacks = new List <int>(); var mockClient = new Mock <IEdubaseClient>(); var sut = new EstablishmentClient(mockClient.Object); mockClient.Setup(x => x.FindEstablishments(It.IsAny <EstablishmentFilter>(), out pages)).Returns(new EstablishmentList()) .Callback <EstablishmentFilter, int>((x, y) => pageCallbacks.Add(x.Page)); var filter = new EstablishmentFilter { Page = 1 }; // Act sut.FindEstablishments(filter).ToList(); // Assert mockClient.Verify(x => x.FindEstablishments(It.IsAny <EstablishmentFilter>(), out pages), Times.Exactly(2)); CollectionAssert.Contains(pageCallbacks, 0); CollectionAssert.Contains(pageCallbacks, 1); }