public new void SetUp() { base.SetUp(); MockMillAndWetDownService.Setup(m => m.CreateMillAndWetdown(It.IsAny <ICreateMillAndWetdownParameters>())) .Returns(new SuccessResult <string>()); }
public void GivenLineKeyFilter_Get_ReturnsResultsFilteredByLineKey() { // Arrange const string expectedLineKey = "1"; Fixture.Customizations.Add(new MillAndWetdownSummaryLineKeySpecimenBuilder(expectedLineKey)); var dataResults = Fixture.CreateMany <IMillAndWetdownSummaryReturn>(10).AsQueryable(); Assess.IsTrue(dataResults.Any(r => r.ProductionLineKey == expectedLineKey), "The data results do not include the expected line key value."); Assess.IsTrue(dataResults.Any(r => r.ProductionLineKey != expectedLineKey), "The data results do not include any line key values other than the expected value."); MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(() => new SuccessResult <IQueryable <IMillAndWetdownSummaryReturn> >(dataResults)); var expectedResults = dataResults.Where(d => d.ProductionLineKey == expectedLineKey).ToList(); Assess.IsNotEmpty(expectedResults); Assess.IsTrue(expectedResults.Any(r => r.ProductionLineKey == expectedLineKey)); Assert.IsTrue(expectedResults.Count < dataResults.Count()); IList <IMillAndWetdownSummaryReturn> dataPagerInput = null; // Act var results = SystemUnderTest.Get(lineKey: expectedLineKey); // Assert Assert.AreEqual(expectedResults, results); Assert.AreEqual(expectedResults, dataPagerInput); }
public void GivenDateRangeFilter_Get_ReturnsResultsWithProductionStartDateOfDateSpecified() { // Arrange var startDate = DateTime.Now.Date; var endDate = DateTime.Now.AddDays(1).Date; Fixture.Customizations.Add(new MillAndWetdownSummaryDateRangeSpecimenBuilder(startDate, endDate)); var dataResults = Fixture.CreateMany <IMillAndWetdownSummaryReturn>(10).AsQueryable(); MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(new SuccessResult <IQueryable <IMillAndWetdownSummaryReturn> >(dataResults)); IList <IMillAndWetdownSummaryReturn> dataPagerInput = null; var expectedResults = dataResults.Where(m => m.ProductionBegin >= startDate.Date && m.ProductionBegin < endDate.AddDays(1).Date).ToList(); //Assess Assess.IsNotEmpty(expectedResults); Assess.IsTrue(expectedResults.Any(r => r.ProductionBegin.Date == startDate.Date), "No records contain a beginning production date equal to the start date range filter."); Assess.IsTrue(expectedResults.Any(r => r.ProductionBegin.Date == endDate.Date), "No records contain a beginning production date equal to the end date range filter."); Assess.IsTrue(expectedResults.Count < dataResults.Count()); // Act var results = SystemUnderTest.Get(startDate, endDate); // Assert Assert.AreEqual(expectedResults, results); Assert.AreEqual(expectedResults.Count, dataPagerInput.Count()); }
public void GivenSingleDateFilter_Get_ReturnsResultsWithProductionStartDateOfDateSpecified() { // Arrange var dateFilter = DateTime.Now; Fixture.Customizations.Add(new MillAndWetdownSummaryDateRangeSpecimenBuilder(dateFilter)); var dataResults = Fixture.CreateMany <IMillAndWetdownSummaryReturn>(10).AsQueryable(); MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(new SuccessResult <IQueryable <IMillAndWetdownSummaryReturn> >(dataResults)); IList <IMillAndWetdownSummaryReturn> dataPagerInput = null; var expectedResults = dataResults.Where(m => m.ProductionBegin >= dateFilter.Date && m.ProductionBegin < dateFilter.Date.AddDays(1)).ToList(); //Assess Assess.IsNotEmpty(expectedResults); Assess.AreNotEqual(expectedResults.Count, dataResults.Count()); // Act var results = SystemUnderTest.Get(dateFilter); // Assert Assert.AreEqual(expectedResults, results); Assert.AreEqual(expectedResults.Count, dataPagerInput.Count()); }
public void IntegratedDataResultsAdapterTest() { // Arrange MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(new SuccessResult <IQueryable <IMillAndWetdownSummaryReturn> >(Fixture.CreateMany <IMillAndWetdownSummaryReturn>().AsQueryable())); var systemUnderTest = new MillWetdownController(MockMillAndWetDownService.Object, MockUserIdentityProvider.Object); // Act systemUnderTest.Get(); // Assert Assert.Pass(); }
public void Get_ReturnsPagedResultsFromService() { // Arrange var expectedResults = Fixture.CreateMany <IMillAndWetdownSummaryReturn>().AsQueryable(); MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(new SuccessResult <IQueryable <IMillAndWetdownSummaryReturn> >(expectedResults)); // Act var actualResults = SystemUnderTest.Get(); // Assert Assert.AreEqual(expectedResults, actualResults); }
public void ReturnsExpectedResultForLotKey() { // Arrange const string expectedLot = "01 13 123 01"; var expectedResult = Fixture.Create <IMillAndWetdownDetailReturn>(); MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownDetail(expectedLot)) .Returns(new SuccessResult <IMillAndWetdownDetailReturn>(expectedResult)); // Act var actualResult = SystemUnderTest.Get(expectedLot); // Assert Assert.IsNotNull(actualResult); Assert.AreEqual(expectedResult, actualResult); }
public void GivenPagedDataParameters_Get_ExecutesPagingAccordingly() { // Arrange const int pageSize = 5; const int skipCount = 5; var dataResults = Fixture.CreateMany <IMillAndWetdownSummaryReturn>(10).AsQueryable(); MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(new SuccessResult <IQueryable <IMillAndWetdownSummaryReturn> >(dataResults)); var expectedResults = dataResults.Skip(skipCount).Take(pageSize); // Act var actualResults = SystemUnderTest.Get(skipCount: skipCount, pageSize: pageSize); // Assert Assert.AreEqual(expectedResults, actualResults); }
public void WhenServiceReturnsFailureResult_Get_ThrowsHttpResponceExceptionWith500InternalServerErrorStatusCode() { // Arrange MockMillAndWetDownService.Setup(m => m.GetMillAndWetdownSummaries()) .Returns(new FailureResult <IQueryable <IMillAndWetdownSummaryReturn> >()); HttpStatusCode?statusCode = null; // Act try { SystemUnderTest.Get(); } catch (HttpResponseException ex) { statusCode = ex.Response.StatusCode; } // Assert Assert.IsNotNull(statusCode); Assert.AreEqual(HttpStatusCode.InternalServerError, statusCode); }