public async void GetRandomAssigment_CalledWithValidModulename_ReturnsOkWithAssigmentUrl() { IUnitOfWork _unitOfWork = Substitute.For <IUnitOfWork>(); ICookieManager _cookieManager = Substitute.For <ICookieManager>(); string testModuleName = "Oop"; string[] testUrls = new string[] { "test", "test2" }; Module oopModule = new Module() { Title = "Oop" }; var assigments = new List <Assigment>() { new Assigment { Url = "test", Module = oopModule }, new Assigment { Url = "test2", Module = oopModule } }; _unitOfWork.Assigments.GetAssigmentsByModuleName(testModuleName).Returns(assigments); var assigmentsController = new AssigmentsController(_unitOfWork, _cookieManager); var result = await assigmentsController.GetRandomAssigment(testModuleName); var okobjectReesult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <Assigment>(okobjectReesult.Value); Assert.Equal(testModuleName, returnValue.Module.Title); Assert.Contains(returnValue.Url, testUrls); }
public async void GetRandomAssigment_CalledWithNull_ReturnsBadRequestWithError() { IUnitOfWork _unitOfWork = Substitute.For <IUnitOfWork>(); ICookieManager _cookieManager = Substitute.For <ICookieManager>(); string nullModuleName = null; string error = "Module name cannot be null."; var assigmentController = new AssigmentsController(_unitOfWork, _cookieManager); var result = await assigmentController.GetRandomAssigment(nullModuleName); var badRequestobjectResult = Assert.IsType <BadRequestObjectResult>(result); var returnValue = Assert.IsType <string>(badRequestobjectResult.Value); Assert.Equal(error, returnValue); }
public async void GetRandomAssigment_CalledInvalidModuleName_ReturnsNotFountWithModuleName() { IUnitOfWork _unitOfWork = Substitute.For <IUnitOfWork>(); ICookieManager _cookieManager = Substitute.For <ICookieManager>(); string notValidModuleName = "CSarja"; List <Assigment> nullAssigment = null; _unitOfWork.Assigments.GetAssigmentsByModuleName(notValidModuleName).Returns(nullAssigment); var assigmentsController = new AssigmentsController(_unitOfWork, _cookieManager); var result = await assigmentsController.GetRandomAssigment(notValidModuleName); var notFountObjectResult = Assert.IsType <NotFoundObjectResult>(result); var returnValue = Assert.IsType <string>(notFountObjectResult.Value); Assert.Equal(notValidModuleName, returnValue); }