public void GetRequest_GetAllTest_NoCategories() { FakeRepository<Category> categoryFakeRepository = new FakeRepository<Category>(); FakeRepository<User> userFakeRepository = new FakeRepository<User>(); FakeRepository<Thread> threadFakeRepository = new FakeRepository<Thread>(); string sessionKey = "01234567890123456789012345678901234567890123456789"; User user = new User() { SessionKey = sessionKey }; userFakeRepository.Add(user); CategoriesController categoriesController = new CategoriesController( categoryFakeRepository, userFakeRepository, threadFakeRepository); SetupController(categoriesController); var allCategories = categoriesController.GetAll(sessionKey).ToList<string>(); int expectedCategoryCount = 0; Assert.AreEqual(expectedCategoryCount, allCategories.Count); }
public object GetService(Type serviceType) { var dbContext = new ForumDbContext(); if (serviceType == typeof(UsersController)) { var repository = new EfRepository<User>(dbContext); var userController = new UsersController(repository); return userController; } else if (serviceType == typeof(ThreadsController)) { var categoryRepository = new EfRepository<Category>(dbContext); var threadRepository = new EfRepository<Thread>(dbContext); var userRepository = new EfRepository<User>(dbContext); var threadController = new ThreadsController( categoryRepository, threadRepository, userRepository); return threadController; } else if (serviceType == typeof(PostsController)) { var postRepository = new EfRepository<Post>(dbContext); var userRepository = new EfRepository<User>(dbContext); var threadRepository = new EfRepository<Thread>(dbContext); var voteRepository = new EfRepository<Vote>(dbContext); var commentRepository = new EfRepository<Comment>(dbContext); var postsController = new PostsController( postRepository, userRepository, threadRepository, voteRepository, commentRepository); return postsController; } else if (serviceType == typeof(CategoriesController)) { var categoryRepository = new EfRepository<Category>(dbContext); var userRepository = new EfRepository<User>(dbContext); var threadRepository = new EfRepository<Thread>(dbContext); var categoriesController = new CategoriesController(categoryRepository, userRepository, threadRepository); return categoriesController; } else { return null; } }
public void GetRequest_GetAllTest_InvalidSessionKey_NoUserWithSuchKey() { FakeRepository<Category> categoryFakeRepository = new FakeRepository<Category>(); FakeRepository<User> userFakeRepository = new FakeRepository<User>(); FakeRepository<Thread> threadFakeRepository = new FakeRepository<Thread>(); string sessionKey = "01234567890123456789012345678901234567890123456789"; Category category = new Category() { Name = "Test category" }; categoryFakeRepository.entities.Add(category); CategoriesController categoriesController = new CategoriesController( categoryFakeRepository, userFakeRepository, threadFakeRepository); SetupController(categoriesController); var allCategories = categoriesController.GetAll(sessionKey).ToList<string>(); }
public void PostRequest_CreateCategoryTest_SuccessfulCreation() { FakeRepository<Category> categoryFakeRepository = new FakeRepository<Category>(); FakeRepository<User> userFakeRepository = new FakeRepository<User>(); FakeRepository<Thread> threadFakeRepository = new FakeRepository<Thread>(); string sessionKey = "01234567890123456789012345678901234567890123456789"; CategoryModel categoryModel = new CategoryModel() { Name = "Test category" }; User user = new User() { SessionKey = sessionKey }; userFakeRepository.Add(user); CategoriesController categoriesController = new CategoriesController( categoryFakeRepository, userFakeRepository, threadFakeRepository); SetupController(categoriesController); var response = categoriesController.CreateCategory(categoryModel, sessionKey); int expectedCategoryCount = 1; Assert.AreEqual(response.StatusCode, HttpStatusCode.Created); Assert.AreEqual(expectedCategoryCount, categoryFakeRepository.entities.Count); }
public void PostRequest_CreateCategoryTest_InvalidCreation_CannotAddNullCategory() { FakeRepository<Category> categoryFakeRepository = new FakeRepository<Category>(); FakeRepository<User> userFakeRepository = new FakeRepository<User>(); FakeRepository<Thread> threadFakeRepository = new FakeRepository<Thread>(); string sessionKey = "01234567890123456789012345678901234567890123456789"; User user = new User() { SessionKey = sessionKey }; userFakeRepository.Add(user); CategoryModel categoryModel = null; CategoriesController categoriesController = new CategoriesController( categoryFakeRepository, userFakeRepository, threadFakeRepository); SetupController(categoriesController); categoriesController.CreateCategory(categoryModel, sessionKey); }