public void ShouldReturnDefaultViewModelWithNoErrorWhenModelIsValid() { // Arrange var success = new Result(ResultType.Success); var genreSvMock = new Mock <IGenreService>(); genreSvMock.Setup(x => x.AddGenre(It.IsAny <Genres>())).Returns(success); var fakeGenre = new GenreCreateViewModel(); var sut = new GenresController(genreSvMock.Object); var fakeHttpContext = new Mock <HttpContextBase>(); sut.ControllerContext = new ControllerContext { Controller = sut, HttpContext = fakeHttpContext.Object }; var mapper = new AutoMapperConfig(); mapper.Execute(Assembly.GetExecutingAssembly()); Mapper.Initialize(cfg => cfg.CreateMap <GenreCreateViewModel, Genres>()); // Act & Assert sut .WithCallTo(c => c.Create(fakeGenre)) .ShouldRenderDefaultView() .WithModel <GenreCreateViewModel>(x => Assert.AreEqual(x.Result.ResulType, ResultType.Success)); }
public async Task PutGenre_ExistingIdCorrectGenreWithNameChanged_NoContentResult() { // Arrange const int genreId = 3; InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList()); Genre genreToUpdate = GetFakeList().Where(d => d.ID == genreId).FirstOrDefault(), // Should use ICopyable interface here expectedGenre = GetFakeList().Where(d => d.ID == genreId).FirstOrDefault(); // Act using (var context = new GameReviewsContext(options)) { genreToUpdate.Name = "newName"; expectedGenre.Name = "newName"; GenresController genresController = new GenresController(context); var result = (await genresController.PutGenre(genreId, genreToUpdate)); Genre actualGenre = await context.Genres.Where(d => d.ID == genreId).FirstOrDefaultAsync(); // Assert Assert.True(AreEqual(expectedGenre, actualGenre)); Assert.IsType <NoContentResult>(result); } }
public async Task DeleteGenreSuccessfully() { //Preparation var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.SaveChanges(); var context2 = BuildContext(databaseName); //Testing var controller = new GenresController(context2, mapper); controller.ControllerContext = BuildControllerContextWithDefaultUser(); var response = await controller.Delete(1); //Verification var result = response as StatusCodeResult; Assert.AreEqual(204, result.StatusCode); var context3 = BuildContext(databaseName); var isExist = await context3.Genres.AnyAsync(); Assert.IsFalse(isExist); }
public async Task PostGenre_CorrectGenreWithCorrectValuesAndNonexistingIdSetted_CreatedAtActionResultWithSettedId() { // Arrange const int idToSet = 10; InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList()); Genre genreToCreate = new Genre() { Name = "NewDevelope", ID = idToSet }; // Act using (var context = new GameReviewsContext(options)) { GenresController genresController = new GenresController(context); var result = (await genresController.PostGenre(genreToCreate)).Result; // Assert Assert.True(context.Genres.Contains(genreToCreate)); Assert.True(genreToCreate.ID == idToSet); Assert.IsType <CreatedAtActionResult>(result); } }
public async Task UpdateGenre() { //Preparation var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.SaveChanges(); var context2 = BuildContext(databaseName); var genreForCreationDto = new GenreForCreationDto() { Name = "New Genre" }; //Testing var id = 1; var controller = new GenresController(context, mapper); var response = await controller.Put(id, genreForCreationDto); //Verification var result = response as StatusCodeResult; Assert.AreEqual(204, result.StatusCode); var context3 = BuildContext(databaseName); var isExist = await context3.Genres.AnyAsync(x => x.Name == "New Genre"); Assert.IsTrue(isExist); }
public async Task DeleteGenre() { var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.SaveChanges(); var context2 = BuildContext(databaseName); var controller = new GenresController(context2, mapper); controller.ControllerContext = BuildControllerContextWithDefaultUser(); var response = await controller.Delete(1); var result = response as StatusCodeResult; Assert.AreEqual(204, result.StatusCode); var context3 = BuildContext(databaseName); var exists = await context3.Genres.AnyAsync(); Assert.IsFalse(exists); }
public async Task CreateGenre_ShouldReturn201AndAddEntryInDb() { // Arrange var databaseName = Guid.NewGuid().ToString(); BuildGenreTestDatabase(databaseName); var createDbContext = BuildContext(databaseName); var verifyDbContext = BuildContext(databaseName); var mapper = BuildMapper(); var expectedName = "Test Genre"; var expectedCount = createDbContext.Genres.Count() + 1; var createGenreDTO = new CreateGenreDTO() { Name = expectedName }; var controller = new GenresController(createDbContext, mapper); // Act var response = await controller.Post(createGenreDTO); var result = response as CreatedAtRouteResult; var actualName = verifyDbContext.Genres.Find(expectedCount).Name; var actualCount = verifyDbContext.Genres.Count(); // Assert Assert.AreEqual(StatusCodes.Status201Created, result.StatusCode); Assert.AreEqual(expectedName, actualName); Assert.AreEqual(expectedCount, actualCount); }
public void ShouldReturnInstanceOfGenresController() { var moqGenresService = new Mock <IGenreService>(); var sut = new GenresController(moqGenresService.Object); Assert.IsInstanceOfType(sut, typeof(GenresController)); }
public async Task ReplaceGenre_InvalidId_ShouldReturnNotFound() { // Arrange var databaseName = Guid.NewGuid().ToString(); var dbContext = BuildContext(databaseName); var mapper = BuildMapper(); var testGenresCount = dbContext.Genres.Count(); var expectedName = "New Genre Name"; var createGenreDTO = new CreateGenreDTO() { Name = expectedName }; var controller = new GenresController(dbContext, mapper); // Act var response = await controller.Put(testGenresCount + 1, createGenreDTO); var result = response as StatusCodeResult; // Assert Assert.AreEqual(StatusCodes.Status404NotFound, result.StatusCode); }
public async Task GetAllGenres() { //Preparation var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.Genres.Add(new Genre() { Name = "Genre 2" }); context.SaveChanges(); var context2 = BuildContext(databaseName); //Testing var controller = new GenresController(context2, mapper); var response = await controller.GetGenres(); //Verification var genres = response.Value; Assert.AreEqual(2, genres.Count); }
public async Task GetGenreByIdSuccessfully() { //Preparation var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.Genres.Add(new Genre() { Name = "Genre 2" }); context.SaveChanges(); var context2 = BuildContext(databaseName); //Testing var id = 1; var controller = new GenresController(context2, mapper); var response = await controller.GetGenre(id); //Verification var result = response.Value; Assert.AreEqual(1, result.Id); }
public void CreateGenre_Returns_CreatedAtRoute() { // Arrange var genreRepositoryMock = new Mock <IGenreRepository>(); var genreIMapperMock = new MapperConfiguration(config => { config.AddProfile(new MovieMapper()); }); var genreMapper = genreIMapperMock.CreateMapper(); var logMock = new Mock <ILogger <GenresController> >(); ILogger <GenresController> logger = logMock.Object; GenresController genreApiController = new GenresController(genreRepositoryMock.Object, mapper: genreMapper, logger); var genreDto = new GenreDTO() { Name = "Comedy", DateCreated = DateTime.Parse("15 May 2015"), Id = new Guid() }; genreRepositoryMock.Setup(repo => repo.GenreExist(It.IsAny <string>())) .Returns(false); genreRepositoryMock.Setup(repo => repo.CreateGenre(It.IsAny <GenreModel>())) .Returns(true); // Act var genreResult = genreApiController.CreateGenre(genreDto); var createdAtRouteResult = genreResult as CreatedAtRouteResult; // Assert Assert.True(createdAtRouteResult.StatusCode is StatusCodes.Status201Created); }
public void GetGenreById_Returns_OkObjectResult() { // Arrange var genreRepositoryMock = new Mock <IGenreRepository>(); var genreIMapperMock = new MapperConfiguration(config => { config.AddProfile(new MovieMapper()); }); var genreMapper = genreIMapperMock.CreateMapper(); var logMock = new Mock <ILogger <GenresController> >(); ILogger <GenresController> logger = logMock.Object; GenresController genreApiController = new GenresController(genreRepositoryMock.Object, mapper: genreMapper, logger); var genreModel = new GenreModel() { Name = "Adult Content", DateCreated = DateTime.Parse("15 May 2015"), Id = Guid.NewGuid() }; genreRepositoryMock.Setup(repo => repo.GetGenre(It.IsAny <Guid>())) .Returns(genreModel); // Act var genreResult = genreApiController.GetGenreById(It.IsAny <Guid>()); var okResult = genreResult as OkObjectResult; // Assert Assert.True(okResult.StatusCode is StatusCodes.Status200OK); }
public void DeleteGenre_Returns_NoContent() { // Arrange var genreRepositoryMock = new Mock <IGenreRepository>(); var genreIMapperMock = new MapperConfiguration(config => { config.AddProfile(new MovieMapper()); }); var genreMapper = genreIMapperMock.CreateMapper(); var logMock = new Mock <ILogger <GenresController> >(); ILogger <GenresController> logger = logMock.Object; GenresController genreApiController = new GenresController(genreRepositoryMock.Object, mapper: genreMapper, logger); var genreModel = new GenreModel() { Name = "Comedy", DateCreated = DateTime.Parse("15 May 2015"), Id = new Guid() }; genreRepositoryMock.Setup(repo => repo.GenreExist(It.IsAny <Guid>())) .Returns(true); genreRepositoryMock.Setup(repo => repo.GetGenre(It.IsAny <Guid>())) .Returns(genreModel); genreRepositoryMock.Setup(repo => repo.DeleteGenre(It.IsAny <GenreModel>())) .Returns(true); // Act var genreResult = genreApiController.DeleteGenre(genreModel.Id); var noContentResult = genreResult as NoContentResult; // Assert Assert.True(noContentResult.StatusCode is StatusCodes.Status204NoContent); }
public async Task GetGenreByIdExist() { var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.Genres.Add(new Genre() { Name = "Genre 2" }); context.SaveChanges(); var context2 = BuildContext(databaseName); var controller = new GenresController(context2, mapper); var id = 1; var response = await controller.Get(id); var result = response.Value; Assert.AreEqual(id, result.Id); }
public async Task ReplaceGenre_ValidId_ShouldReplaceGenre() { // Arrange var databaseName = Guid.NewGuid().ToString(); BuildGenreTestDatabase(databaseName); var testDbContext = BuildContext(databaseName); var verifyDbContext = BuildContext(databaseName); var mapper = BuildMapper(); var expectedGenresCount = verifyDbContext.Genres.Count(); var expectedName = "New Genre Name"; var createGenreDTO = new CreateGenreDTO() { Name = expectedName }; var controller = new GenresController(testDbContext, mapper); // Act var response = await controller.Put(1, createGenreDTO); var result = response as StatusCodeResult; var actualName = verifyDbContext.Genres.Find(1).Name; // Assert Assert.AreEqual(StatusCodes.Status204NoContent, result.StatusCode); Assert.AreEqual(expectedName, actualName); }
public async Task UpdateGenre() { var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre() { Name = "Genre 1" }); context.SaveChanges(); var context2 = BuildContext(databaseName); var controller = new GenresController(context2, mapper); var genreCreationDTO = new GenreCreationDTO { Name = "New name" }; var id = 1; var response = await controller.Put(id, genreCreationDTO); var result = response as StatusCodeResult; Assert.AreEqual(204, result.StatusCode); var context3 = BuildContext(databaseName); var exists = await context3.Genres.AnyAsync(x => x.Name == "New name"); Assert.IsTrue(exists); }
public async Task CreateGenre() { //Preparation var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); var newGenre = new GenreForCreationDto() { Name = "New Genre" }; //Testing var controller = new GenresController(context, mapper); var response = await controller.Post(newGenre); //Verification var result = response as CreatedAtRouteResult; Assert.AreEqual(201, result.StatusCode); var context2 = BuildContext(databaseName); var count = await context2.Genres.CountAsync(); Assert.AreEqual(1, count); }
public GenreControllerTests() { _mockContext = new Mock <HorrorContext>(); _mockRepo = new Mock <IGenreRepository>(); _mockMapper = new Mock <IMapper>(); _mockUrlHelper = new Mock <IUrlHelper>(); _genresController = new GenresController(_mockUrlHelper.Object, _mockRepo.Object, _mockMapper.Object); }
public void InitializeGenresControllerCorrectly_WhenDependenciesAreNotNull() { var mapperMock = new Mock <IMapper>(); var genreServiceMock = new Mock <IGenreService>(); var controller = new GenresController(genreServiceMock.Object, mapperMock.Object); Assert.IsNotNull(controller); }
public void ShouldRedirect() { var moqGenresService = new Mock <IGenreService>(); var sut = new GenresController(moqGenresService.Object); sut .WithCallTo(c => c.Index()) .ShouldRedirectTo(x => x.Create); }
public void SetUp() { _genreService = new Mock <IGenreService>(); _gameService = new Mock <IGameService>(); _genresController = new GenresController(_genreService.Object, _gameService.Object) { Request = new HttpRequestMessage() }; _genresController.Request.SetConfiguration(new HttpConfiguration()); }
public void IndexTest() { // Arrange GenresController controller = new GenresController(); // Act var result = controller.Index(); // Assert Assert.IsNotNull(result); }
public void CreateTest1() { // Arrange GenresController controller = new GenresController(); // Act var result = controller.Create(); // Assert Assert.IsNotNull(result); }
public void EditTest1() { // Arrange GenresController controller = new GenresController(); // Act var result = controller.Edit(1); // Assert Assert.IsNotNull(result); }
public void DeleteTest() { // Arrange GenresController controller = new GenresController(); // Act var result = controller.Delete(0); // Assert Assert.IsNotNull(result); }
public void ReturnsDefaultView() { // Arrange var genreSvMock = new Mock <IGenreService>(); var sut = new GenresController(genreSvMock.Object); // Act & Assert sut .WithCallTo(c => c.Create()) .ShouldRenderDefaultView(); }
public string GetSignup() { var myFan = new Models.FanSignup(); using (var c = new ArtistListingController()) { c.Gets(); foreach (var rec in c.Recordset) { var n = new Models.FanSignup.EFanToArtist(); PopulateDerivedFromBase(rec, n); myFan.FanToArtists.Add(n); } } using (var c = new AssociationsController()) { c.Gets(); foreach (var rec in c.Recordset) { var n = new Models.FanSignup.EFanToAssociation(); PopulateDerivedFromBase(rec, n); myFan.FanToAssociations.Add(n); } } using (var c = new RegionsController()) { c.Gets(); foreach (var rec in c.Recordset) { var n = new Models.FanSignup.EFanToRegion(); PopulateDerivedFromBase(rec, n); myFan.FanToRegions.Add(n); } } using (var c = new GenresController()) { c.Gets(); foreach (var rec in c.Recordset) { var n = new Models.FanSignup.EFanToGenre(); PopulateDerivedFromBase(rec, n); myFan.FanToGenres.Add(n); } } myFan.Fan = new Fan(); var xx = JsonConvert.SerializeObject(myFan); return(xx); }
public async void TestDeleteGenreWhenIdIsWrong() { int id = -5; var mockRepo = new Mock <IGenreRepository>(); mockRepo.Setup(repo => repo.GetGenre(id)).Returns((GenreDTO)null); var controller = new GenresController(mockRepo.Object); var result = await controller.DeleteGenre(id); Assert.Contains(HttpStatusCode.BadRequest.ToString(), result.Result.ToString()); }
public void Initialize() { // Cria primeiro o gênero de Teste var genresController = new GenresController(); var genre = new Genre { ID = 1, Nome = "Gênero de Teste", Ativo = true }; genresController.Post(genre); }