public async Task TestGetPeriodSecondsAsyncSuccess() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); repository.GetPeriodSecondsAsync().Returns(Task.FromResult(5)); var result = await controller.GetPeriodSecondsAsync(); Assert.AreEqual(5, result); }
public async Task TestPostPeriodSecondsAsyncSuccess() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); var monitoringSettings = new MonitoringSettings { PeriodSeconds = 10 }; repository.SetPeriodSecondsAsync(monitoringSettings.PeriodSeconds).Returns(Task.FromResult <bool>(true)); var result = await controller.PostPeriodSecondsAsync(monitoringSettings); Assert.IsTrue(result is OkResult); }
public async Task TestGetByIdSuccess() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); var id = Guid.NewGuid(); var site = new Site { Id = id, Url = "url1", IsAvailable = false }; repository.GetSiteAsync(id).Returns(Task.FromResult <Site>(site)); var result = await controller.GetById(id.ToString()); Assert.AreEqual(site, result); }
public async Task TestPutAsyncSuccess() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); var id = Guid.NewGuid(); var site = new Site { Id = id, Url = "url1", IsAvailable = false }; repository.UpdateSiteUrlAsync(id, site.Url).Returns(Task.FromResult <UpdateResult>(new UpdateResult.Acknowledged(1, 1, BsonValue.Create(id)))); var result = await controller.PutAsync(id.ToString(), site); Assert.IsTrue(result is OkResult); }
public async Task TestPostAsyncSuccess() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); var site = new Site { Id = Guid.NewGuid(), Url = "url1", IsAvailable = false }; repository.AddSiteAsync(site).Returns(Task.FromResult <Site>(site)); var result = await controller.PostAsync(site); Assert.IsTrue(result is OkObjectResult); var successResult = (OkObjectResult)result; Assert.AreEqual(site, successResult.Value); }
public async Task TestGetSuccess() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); var sites = new List <Site>(); sites.Add(new Site { Id = Guid.NewGuid(), Url = "url1", IsAvailable = false }); sites.Add(new Site { Id = Guid.NewGuid(), Url = "url2", IsAvailable = true }); repository.GetAllSitesAsync().Returns(Task.FromResult <IEnumerable <Site> >(sites)); var result = await controller.Get(); Assert.AreEqual(sites, result); }
public async Task TestPostAsyncFail() { var repository = Substitute.For <ISiteAvailabilityRepository>(); var controller = new SiteAvailabilityController(repository); var site = new Site { Id = Guid.NewGuid(), Url = "", IsAvailable = false }; repository.AddSiteAsync(site).Returns(Task.FromResult <Site>(site)); controller.ValidateViewModel <Site, SiteAvailabilityController>(site); var result = await controller.PostAsync(site); Assert.IsTrue(result is BadRequestObjectResult); var failResult = (BadRequestObjectResult)result; Assert.AreEqual(StatusCodes.Status400BadRequest, failResult.StatusCode); Assert.AreEqual(false, controller.ModelState.IsValid); }