public void DetailsReturnType() { DogsController controller = new DogsController(); var actual = controller.Details("hound"); Assert.IsInstanceOfType(actual, typeof(Task <ActionResult>)); }
public void MissingReturnType() { DogsController controller = new DogsController(); var actual = controller.Missing(); Assert.IsInstanceOfType(actual, typeof(ActionResult)); }
public void BreedListReturnType() { DogsController controller = new DogsController(); var actual = controller.Index(); Assert.IsInstanceOfType(actual, typeof(Task <ActionResult>)); }
public void DogControllerEditDogTest() { // Arrange var dogController = new DogsController(); dogController.Clear(); Dog addDog1 = new Dog("bulldog", "Some Description"); Dog addDog2 = new Dog("sheepdog", "Some Description"); Dog editDogName = new Dog("bulldog_edited", "Some Description"); Dog editDogDescription = new Dog("bulldog_edited", "Some Description Edited"); Dog editDogNameAndDescription = new Dog("bulldog_edited_2", "Some Description Edited Twice"); Dog editInvalidDogName = new Dog("sheepdog", "Some Description"); Dog editDogWithNoDetails = new Dog(); Dog editDogWithNoDescription = new Dog() { Name = "sheepdog" }; var addDog1Result = dogController.AddDog(addDog1); var addDog2Result = dogController.AddDog(addDog2); var editDogNameResult = dogController.EditDog("bulldog", editDogName); var editDogDescriptionResult = dogController.EditDog("bulldog_edited", editDogDescription); var editDogNameAndDescriptionResult = dogController.EditDog("bulldog_edited", editDogNameAndDescription); var editInvalidDogNameResult = dogController.EditDog("bulldog_edited_2", editInvalidDogName); var editDogNoDetatilsResult = dogController.EditDog("sheepdog", editDogWithNoDetails); var editDogWithNoDescriptionResult = dogController.EditDog("sheepdog", editDogWithNoDescription); var dogCollectionResult = dogController.GetAllDogs(); var okObjectResult = dogCollectionResult as OkObjectResult; Dictionary <string, Dog> dogCollection = okObjectResult.Value as Dictionary <string, Dog>; Dog editedDog = dogCollection[editDogWithNoDescription.Name]; // Assert Assert.AreEqual(typeof(OkResult), addDog1Result.GetType()); Assert.AreEqual(typeof(OkResult), addDog2Result.GetType()); Assert.AreEqual(typeof(OkResult), editDogNameResult.GetType()); Assert.AreEqual(typeof(OkResult), editDogDescriptionResult.GetType()); Assert.AreEqual(typeof(OkResult), editDogNameAndDescriptionResult.GetType()); Assert.AreEqual(typeof(BadRequestResult), editInvalidDogNameResult.GetType()); Assert.AreEqual(typeof(BadRequestResult), editDogNoDetatilsResult.GetType()); Assert.AreEqual(typeof(OkResult), editDogWithNoDescriptionResult.GetType()); Assert.AreEqual(typeof(OkObjectResult), dogCollectionResult.GetType()); Assert.IsTrue(dogCollection.ContainsKey(editDogNameAndDescription.Name)); Assert.IsTrue(dogCollection.ContainsKey(editDogWithNoDescription.Name)); Assert.IsFalse(dogCollection.ContainsValue(addDog1)); Assert.IsFalse(dogCollection.ContainsValue(addDog2)); Assert.IsFalse(dogCollection.ContainsValue(editDogName)); Assert.IsFalse(dogCollection.ContainsValue(editDogDescription)); Assert.IsFalse(dogCollection.ContainsValue(editInvalidDogName)); Assert.IsFalse(dogCollection.ContainsValue(editDogWithNoDetails)); Assert.IsTrue(editedDog.Description.Equals("No Description.")); }
public void Index_ReturnsCorrectView_True() { //Arrange DogsController controller = new DogsController(); //Act ActionResult indexView = controller.Index(); //Assert Assert.IsInstanceOfType(indexView, typeof(ViewResult)); }
public void Create_ReturnsCorrectActionType_RedirectToActionResult() { //Arrange DogsController controller = new DogsController(); //Act IActionResult view = controller.Create("puppy", "photo", "sex", "string breed", "string color", "string size", "string age", true, true, "string activity", true, true, true, true, true, "string needsDescription"); //Assert Assert.IsInstanceOfType(view, typeof(RedirectToActionResult)); }
public void Index_HasCorrectModelType_DogList() { //Arrange DogsController controller = new DogsController(); ViewResult indexView = controller.Index() as ViewResult; //Act var result = indexView.ViewData.Model; //Assert Assert.IsInstanceOfType(result, typeof(List <Dog>)); }
public void DogControllerAddDogTest() { // Arrange var dogController = new DogsController(); dogController.Clear(); Dog testDog = new Dog("Test Name", "Test Description"); Dog testDog2 = new Dog("Test Name", "Test Description Edited"); Dog testDog3 = new Dog("Test Name Edited", "Test Description"); Dog testDog4 = new Dog(); var result = dogController.AddDog(testDog); var result2 = dogController.AddDog(testDog); var result3 = dogController.AddDog(testDog2); var result4 = dogController.AddDog(testDog3); var result5 = dogController.AddDog(testDog4); testDog4.Name = "a"; var result6 = dogController.AddDog(testDog4); var dogCollectionResult = dogController.GetAllDogs(); var okObjectResult = dogCollectionResult as OkObjectResult; Dictionary <string, Dog> dogCollection = okObjectResult.Value as Dictionary <string, Dog>; Dog addedDog = dogCollection[testDog4.Name]; // Assert Assert.AreEqual(typeof(OkResult), result.GetType()); Assert.AreEqual(typeof(BadRequestResult), result2.GetType()); Assert.AreEqual(typeof(BadRequestResult), result3.GetType()); Assert.AreEqual(typeof(OkResult), result4.GetType()); Assert.AreEqual(typeof(BadRequestResult), result5.GetType()); Assert.AreEqual(typeof(OkResult), result6.GetType()); Assert.AreEqual(typeof(OkObjectResult), dogCollectionResult.GetType()); Assert.IsTrue(dogCollection.ContainsKey(testDog.Name)); Assert.IsFalse(dogCollection.ContainsValue(testDog2)); Assert.IsTrue(dogCollection.ContainsKey(testDog3.Name)); Assert.IsTrue(dogCollection.ContainsKey(testDog4.Name)); Assert.IsTrue(addedDog.Description.Equals("No Description.")); }
public DogsControllerTest() { apiVersion = new ApiVersion(1, 0); var options = new DbContextOptionsBuilder <DogDbContext>() .UseInMemoryDatabase(databaseName: "TestDogDatabase") .Options; var dbContext = new DogDbContext(options); dbContext.Database.EnsureDeleted(); var httpContext = new DefaultHttpContext(); IDogEntityManager dogEntityManager = new DogEntityManager(dbContext); IDogMapper dogMapper = new DogMapper(); Controller = new DogsController(dogEntityManager, dogMapper); }
public void DogsControllerTestsSetup() { _dogsRepository = MockRepository.GenerateMock<IRepository<Dog>>(); _breedsRepository = MockRepository.GenerateMock<IRepository<Breed>>(); _placesRepository = MockRepository.GenerateMock<IPlacesRepository>(); _unitofWork = MockRepository.GenerateMock<IUnitOfWork>(); _dogSearchhelper = MockRepository.GenerateMock<IDogSearchService>(); _configuration = MockRepository.GenerateMock<IConfiguration>(); _breedsRepository.Stub(x => x.GetById(Arg<int>.Is.Anything)).Return( new Breed {Name = "Beagel"}); _configuration.Stub(x => x.GetNationwideSearchResultsDescriptionMessageForAllBreeds()) .Return("Search results {0} to {1} out of {2} results for all breeds nationwide."); _configuration.Stub(x => x.GetNationwideSearchResultsDescriptionMessageForSpecificBreed()) .Return("Showing results {0} to {1} out of {2} results for {3} nationwide"); _configuration.Stub(x => x.GetLocalSearchResultsDescriptionMessageForAllBreeds()) .Return("Search results {0} to {1} out of {2} results for all breeds in {3}"); _dogsController = new DogsController(_dogsRepository, _breedsRepository, _unitofWork, _dogSearchhelper, _configuration, _placesRepository); StubDogsRepository(); }
public void DogControllerGetAllDogsTest() { // Arrange _dogTestCollection = new Dictionary <string, Dog>(); PopulateTestCollection(); var dogController = new DogsController(); dogController.Clear(); var result = dogController.GetAllDogs(); var okObjectResult = result as OkObjectResult; Dictionary <string, Dog> dogCollection = okObjectResult.Value as Dictionary <string, Dog>; // Assert Assert.AreEqual(typeof(OkObjectResult), result.GetType()); Assert.AreEqual(81, dogCollection.Count); foreach (var dog in dogCollection) { Assert.IsTrue(_dogTestCollection[dog.Key].Equals(dog.Value)); } }
public void DogControllerDeleteDogTest() { // Arrange var dogController = new DogsController(); dogController.Clear(); _dogTestCollection = new Dictionary <string, Dog>(); PopulateTestCollection(); var addDog1Result = dogController.AddDog(_dogTestCollection["Bulldog"]); var addDog2Result = dogController.AddDog(_dogTestCollection["Chihuahua"]); var deleteDog1Result = dogController.DeleteDog("Bulldog"); var deleteDog2Result = dogController.DeleteDog("Chihuahua"); var deleteDog3Result = dogController.DeleteDog("Sheepdog"); var deleteEmptyDog = dogController.DeleteDog(""); // Assert Assert.AreEqual(typeof(OkResult), addDog1Result.GetType()); Assert.AreEqual(typeof(OkResult), addDog2Result.GetType()); Assert.AreEqual(typeof(OkResult), deleteDog1Result.GetType()); Assert.AreEqual(typeof(OkResult), deleteDog2Result.GetType()); Assert.AreEqual(typeof(BadRequestResult), deleteDog3Result.GetType()); Assert.AreEqual(typeof(BadRequestResult), deleteEmptyDog.GetType()); }
public void Get_Paged_With_Place_Returns_Dogs_matching_Place() { // arrange const int placeId = 3; const string placeName = "Wallsend"; const int page = 1; const int pageSize = 5; _dogsRepository.Stub(x => x.GetAll()).Return( new DogSearchResultsListBuilder().ListWith30Dogs().Build().AsQueryable()); ConfigurationManager.AppSettings[AppSettingKeys.BaseUrlPagedDogs] = "localhost"; var dogsController = new DogsController( _dogsRepository, _breedsRepository, _unitofWork, _dogSearchhelper, _configuration, _placesRepository); _placesRepository.Stub(x => x.GetById(placeId)).Return( new Place { Name = placeName }); //act var result = dogsController.GetPaged(page, pageSize, placeId); Assert.That(result.TotalCount.Equals(3)); Assert.That(result.SearchDescription, Is.EqualTo( string.Format("Search results 1 to 3 out of 3 results for all breeds in {0}", placeName))); }
public void Get_Paged_With_Breed_Returns_Correct_Search_Description() { // arrange const int breedId = 3; const int page = 2; const int pageSize = 5; var dogsList = new DogSearchResultsListBuilder().ListOf14Beagels().Build(); _dogSearchhelper.Stub(x => x.GetDogsByBreed(breedId)).Return(dogsList); _dogSearchhelper.Stub(x => x.ApplyDogLocationFilteringAndSorting(Arg<IQueryable<Dog>>.Is.Anything, Arg<int>.Is.Anything, Arg<string>.Is.Anything, Arg<int>.Is.Anything)).Return(dogsList); var dogsController = new DogsController(_dogsRepository, _breedsRepository, _unitofWork, _dogSearchhelper, _configuration, _placesRepository); //act var result = dogsController.GetPagedByBreed(page, pageSize, breedId, SearchSortOptions.PRICE_HIGHEST); Assert.That(result.SearchDescription, Is.EqualTo("Showing results 6 to 10 out of 14 results for Beagel nationwide")); }
public void CtorShouldWork() { var dog = new CreateDogViewModel { Name = "Pesho", BirthDate = DateTime.UtcNow, Province = Province.Burgas, IsDisinfected = true, IsVaccinated = false, OwnerNotes = "BlaBla", Breed = DogBreed.JackRussellTerrier }; this.createDog = dog; var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase("ResqueDb") .Options; var db = new ApplicationDbContext(options); this.context = db; var store = new Mock <IUserStore <User> >(); var userManager = new Mock <UserManager <User> >(store.Object, null, null, null, null, null, null, null, null); var claims = new List <Claim>() { new Claim(ClaimTypes.Email, "*****@*****.**") }; var identity = new ClaimsIdentity(claims, "TestAuthType"); var claimsPrincipal = new ClaimsPrincipal(identity); var fakeUser = new User { Email = "*****@*****.**", FirstName = "Pesho", LastName = "Gosho", Province = Province.Blagoevgrad, BirthDate = DateTime.UtcNow }; this.context.Users.Add(fakeUser); this.context.SaveChanges(); userManager.Setup(u => u.GetUserAsync(claimsPrincipal)).ReturnsAsync(this.context.Users.FirstOrDefault(u => u.Email == "*****@*****.**")); userManager.Setup(u => u.GetUserId(claimsPrincipal)).Returns(this.context.Users.FirstOrDefault(u => u.Email == "*****@*****.**").Id); this.userManager = userManager.Object; var dogsController = new DogsController(this.context, this.userManager); dogsController.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = claimsPrincipal } }; this.dogsController = dogsController; }