public void IndexContainsAllGenres()
        {
            Mock <IGenreRepository> mock = new Mock <IGenreRepository>();

            mock.Setup(elm => elm.Genres)
            .Returns((new Genre[]
            {
                new Genre {
                    Id = 1, Name = "Классическая литература", Description = "Классику нужно знать!"
                },
                new Genre {
                    Id = 2, Name = "Зарубежная классика", Description = "Лучшая зарубежная литература"
                },
                new Genre {
                    Id = 3, Name = "Комиксы", Description = "Ну как же без них)"
                }
            }).AsQueryable());

            GenreController target = new GenreController(mock.Object);

            Genre[] result = GetViewModel <ListViewModel <Genre> >(target.Index())?.Entities.ToArray();

            Assert.Equal(3, result.Length);
            Assert.Equal("Классическая литература", result[0].Name);
            Assert.Equal("Лучшая зарубежная литература", result[1].Description);
            Assert.Equal(3, result[2].Id);
        }
        public void GetGenres()
        {
            IList <Genre> genres = new List <Genre>()
            {
                new Genre()
                {
                    Name = "Mathematics"
                },
                new Genre()
                {
                    Name = "Physics"
                },
                new Genre()
                {
                    Name = "Biology"
                },
                new Genre()
                {
                    Name = "Literature"
                }
            };

            GenreController controller = new GenreController(genres);

            ActionResult result = controller.Index();

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(ViewResult));

            ViewResult viewResult = (ViewResult)result;

            Assert.IsInstanceOfType(viewResult.ViewData.Model, typeof(IList <Genre>));
            Assert.AreSame(genres, viewResult.ViewData.Model);
        }
        public void CanDeleteValidGenres()
        {
            Genre genre = new Genre {
                Id = 2, Name = "Тестовый жанр"
            };

            Mock <IGenreRepository> mock = new Mock <IGenreRepository>();

            mock.Setup(elm => elm.Genres)
            .Returns((new Genre[]
            {
                new Genre {
                    Id = 1, Name = "Классическая литература"
                },
                genre,
                new Genre {
                    Id = 3, Name = "Зарубежная литература"
                }
            }).AsQueryable());

            GenreController target = new GenreController(mock.Object);

            target.Delete(genre.Id);

            mock.Verify(elm => elm.DeleteGenre(genre.Id));
        }
        public void CanSendPaginationViewModel()
        {
            Mock <IGenreRepository> mock = new Mock <IGenreRepository>();

            mock.Setup(elm => elm.Genres)
            .Returns((new Genre[]
            {
                new Genre {
                    Id = 1, Name = "Классическая литература", Description = "Классику нужно знать!"
                },
                new Genre {
                    Id = 2, Name = "Зарубежная классика", Description = "Лучшая зарубежная литература"
                },
                new Genre {
                    Id = 3, Name = "Комиксы", Description = "Ну как же без них)"
                },
                new Genre {
                    Id = 4, Name = "Детективы", Description = "Если хочется поломать голову"
                },
                new Genre {
                    Id = 5, Name = "Научная фантастика", Description = "Невероятные и захватывающие миры ждут вас"
                },
            }).AsQueryable());

            GenreController target = new GenreController(mock.Object)
            {
                PageSize = 3
            };
            PagingInfo result = GetViewModel <ListViewModel <Genre> >(target.Index(2))?.PagingInfo;

            Assert.Equal(2, result.CurrentPage);
            Assert.Equal(3, result.ItemsPerPage);
            Assert.Equal(5, result.TotalItems);
            Assert.Equal(2, result.TotalPages);
        }
        public void CanEditGenre()
        {
            Mock <IGenreRepository> mock = new Mock <IGenreRepository>();

            mock.Setup(elm => elm.Genres)
            .Returns((new Genre[]
            {
                new Genre {
                    Id = 1, Name = "Классическая литература", Description = "Классику нужно знать!"
                },
                new Genre {
                    Id = 2, Name = "Зарубежная классика", Description = "Лучшая зарубежная литература"
                },
                new Genre {
                    Id = 3, Name = "Комиксы", Description = "Ну как же без них)"
                }
            }).AsQueryable());

            GenreController target = new GenreController(mock.Object);

            Genre g1 = GetViewModel <Genre>(target.Edit(1));
            Genre g2 = GetViewModel <Genre>(target.Edit(2));
            Genre g3 = GetViewModel <Genre>(target.Edit(3));

            Assert.Equal(1, g1.Id);
            Assert.Equal(2, g2.Id);
            Assert.Equal(3, g3.Id);
        }
        public void CanPaginate()
        {
            Mock <IGenreRepository> mock = new Mock <IGenreRepository>();

            mock.Setup(elm => elm.Genres)
            .Returns((new Genre[]
            {
                new Genre {
                    Id = 1, Name = "Классическая литература", Description = "Классику нужно знать!"
                },
                new Genre {
                    Id = 2, Name = "Зарубежная классика", Description = "Лучшая зарубежная литература"
                },
                new Genre {
                    Id = 3, Name = "Комиксы", Description = "Ну как же без них)"
                },
                new Genre {
                    Id = 4, Name = "Детективы", Description = "Если хочется поломать голову"
                },
                new Genre {
                    Id = 5, Name = "Научная фантастика", Description = "Невероятные и захватывающие миры ждут вас"
                },
            }).AsQueryable());

            GenreController target = new GenreController(mock.Object)
            {
                PageSize = 3
            };

            Genre[] result = GetViewModel <ListViewModel <Genre> >(target.Index(2))?.Entities.ToArray();

            Assert.True(result.Length == 2);
            Assert.Equal("Детективы", result[0].Name);
            Assert.Equal("Невероятные и захватывающие миры ждут вас", result[1].Description);
        }
Beispiel #7
0
        public void GetGenre_ShouldReturnFirstGenre()
        {
            //Genre
            var genre = SetupGenres().FirstOrDefault(s => s.GenreId.Equals(1));

            if (genre == null)
            {
                Assert.Fail("Genre is null");
            }

            //Create Mock
            mock.Setup(m => m.GetGenre(1)).Returns(genre);

            //Act
            var genreController = new GenreController(mock.Object);

            UnitTestHelper.SetupControllerForTests(genreController);
            var      result = genreController.Get(1); //Drama
            GenreDTO responseGenreDto;

            result.TryGetContentValue(out responseGenreDto);

            //Assert
            Assert.IsNotNull(responseGenreDto);
            Assert.AreSame(genre.Name, responseGenreDto.Name);
        }
Beispiel #8
0
        public void GetGenres_ShouldReturnAllGenres()
        {
            //Arrange
            var genres = SetupGenres();

            if (genres == null)
            {
                Assert.Fail("Genres collection is null");
            }

            //Create Mock
            mock.Setup(m => m.GetGenres()).Returns(genres);

            var genreController = new GenreController(mock.Object);

            UnitTestHelper.SetupControllerForTests(genreController);

            //Act
            var result = genreController.Get();
            IEnumerable <GenreDTO> responseGenreDtos;

            result.TryGetContentValue(out responseGenreDtos);

            //Assert
            Assert.IsNotNull(responseGenreDtos);
            Assert.IsTrue(responseGenreDtos.Any());
        }
Beispiel #9
0
        public GenreControllerTest()
        {
            IGenreService             service = new GenreServiceFake();
            ILogger <GenreController> logger  = new Logger <GenreController>(new LoggerFactory());

            _controller = new GenreController(logger, service);
        }
Beispiel #10
0
 static void FillDataBaseWithFakeGenres(uint count)
 {
     for (int i = 0; i < count; i++)
     {
         GenreController.Add(Genre.GetRandomGenre());
     }
 }
    protected void AddGenreButton_Click(object sender, EventArgs e)
    {
        #region My validation to ensure a name is presented for the genre
        string name = GenreName.Text.Trim();
        if (string.IsNullOrEmpty(name))
        {
            //make it invalid so it trips the validation
            GenreName.Text            = "!!!Invalid_!_Name!!!";
            CompareValidator1.IsValid = false;
            Page.Validate();

            //return the text to empty
            GenreName.Text = "";
        }
        #endregion
        if (Page.IsValid)
        {
            try
            {
                GenreController ac = new GenreController();
                ac.AddGenre(GenreName.Text);
                LoadData();
            }
            catch (Exception ex)
            {
                Message.Text = GetInnerException(ex).Message;
            }
        }
    }
        public void GetAllGenres_Should_Return_Correct_GenreName()
        {
            var data = new List <Genre>()
            {
                new Genre("drama")
                {
                    Id = 1
                },
                new Genre("horror")
                {
                    Id = 2
                }
            }.AsQueryable();

            var mockSet = new Mock <DbSet <Genre> >();

            mockSet.As <IQueryable <Genre> >().Setup(m => m.Provider).Returns(data.Provider);
            mockSet.As <IQueryable <Genre> >().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As <IQueryable <Genre> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As <IQueryable <Genre> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            //mokvam si context-a
            var mockContext = new Mock <FilmCatalogContext>();

            mockContext.Setup(c => c.Genres).Returns(mockSet.Object);

            var service = new GenreController(mockContext.Object);

            data.ToList().ForEach(g => service.AddGenre(g));

            var movie = service.GetAllGenres();

            Assert.AreEqual("horror", movie[1].Name);
        }
    protected void Genres_Gridview_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        //collect the rowIndex
        int row = (int)Convert.ChangeType(e.CommandArgument, TypeCode.Int32);

        //collect the controllers
        Label GenreIDController   = (Label)Genres_Gridview.Rows[row].FindControl("GenreID");
        Label GenreNameController = (Label)Genres_Gridview.Rows[row].FindControl("Genre");

        #region Delete
        if (e.CommandName == "Delete")
        {
            e.Handled = true;
            try
            {
                GenreController gc = new GenreController();

                //delete the Genre
                gc.DeleteGenre(int.Parse(GenreIDController.Text));

                //reload the data
                LoadData();
            }
            catch (Exception ex)
            {
                Message.Text = GetInnerException(ex).Message;
            }
        }
        else if (e.CommandName == "Edit")
        {
            e.Handled = true;
            ChangeEditMode(true, GenreNameController.Text, GenreIDController.Text);
        }
        #endregion
    }
    protected void UpdateGenreButton_Click(object sender, EventArgs e)
    {
        #region My validation to ensure a name is presented for the genre
        string name = GenreName.Text.Trim();
        if (string.IsNullOrEmpty(name))
        {
            //make it invalid so it trips the validation
            GenreName.Text            = "!!!Invalid_!_Name!!!";
            CompareValidator1.IsValid = false;
            Page.Validate();

            //return the text to empty
            GenreName.Text = "";
        }
        #endregion

        if (Page.IsValid)
        {
            try
            {
                GenreController gc = new GenreController();
                gc.UpdateGenre(int.Parse(UpdatingGenreID.Text), GenreName.Text);
                LoadData();
                Message.Text = "Genre of ID " + UpdatingGenreID.Text + " has sucessfuly been renamed as " + GenreName.Text;

                ChangeEditMode(false, "", "-1");
            }
            catch (Exception ex)
            {
                Message.Text = GetInnerException(ex).Message;
            }
        }
    }
        public void GenreControllerTestDeleteValid()
        {
            var controller = new GenreController(context);
            var result     = (ViewResult)controller.Delete(2);

            Assert.AreEqual("", result.ViewName);
        }
Beispiel #16
0
        public void GetAsyncTest()
        {
            using (var cursor = Substitute.For <ICursor>())
            {
                cursor.GetInt(0).Returns(0);
                cursor.GetString(1).Returns("string");
                cursor.GetColumnIndex("id").Returns(0);
                cursor.GetColumnIndex("name").Returns(1);

                using (var dataAccess = Substitute.For <IDataAccess>())
                {
                    dataAccess.ExecuteQueryWithParametersAsync(Arg.Any <string>(), Arg.Any <List <SQLiteParameter> >()).Returns(cursor);

                    using (var genreController = new GenreController(dataAccess))
                    {
                        var genres = genreController.GetAsync().Result.ToList();
                        Assert.IsNotNull(genres);
                        Assert.IsInstanceOf <List <Genre> >(genres);
                        Assert.AreEqual(1, genres.Count);
                        Assert.AreEqual(0, genres[0].Id);
                        Assert.AreEqual("string", genres[0].Name);
                    }
                }
            }
        }
        public void Index_ReturnsCorrectView_True()
        {
            GenreController controller = new GenreController();
            ActionResult    indexView  = controller.Index();

            Assert.IsInstanceOfType(indexView, typeof(ViewResult));
        }
        public void ShowGame_ReturnsCorrectView_True()
        {
            GenreController controller = new GenreController();
            ActionResult    thanksView = controller.ShowGame(9);

            Assert.IsInstanceOfType(thanksView, typeof(ViewResult));
        }
Beispiel #19
0
        static void InsertGenre()
        {
            Genre genre = GetGenre();

            GenreController.Add(genre);

            Console.WriteLine("INSERT");
        }
 public void Setup()
 {
     _genreService          = A.Fake <IGenreService>();
     _genreViewModelFactory = A.Fake <IAsyncViewModelFactory <ModifyGenreViewModel, GenreViewModel> >();
     _logger          = A.Fake <ILogger <GenreController> >();
     _mapper          = A.Fake <IMapper>();
     _genreController = new GenreController(_genreService, _genreViewModelFactory, _logger, _mapper);
 }
Beispiel #21
0
        public GenreControllerTest()
        {
            _mapper       = MapperConfigUi.GetMapper().CreateMapper();
            _genreService = new Mock <IGenreService>();
            _sut          = new GenreController(_genreService.Object, _mapper, null);

            _fakeGenreName = "test";
        }
Beispiel #22
0
        public static void Setup(TestContext context)
        {
            ConnectionString.SetDev();
            _myContext = new DataContext().CreateDbContext(new string[] { });
            _repository = new GenreRepository(_myContext);
            _service = new GenreService(_repository);
            _controller = new GenreController(_service);

        }
Beispiel #23
0
 public void Setup()
 {
     controller = new GenreController();
     genre      = new Genre
     {
         Id   = 50,
         Type = "UnitTest"
     };
 }
        public void GenreControllerCreate()
        {
            var contextLocal = new FakeGamesDBContext();

            var controller = new GenreController(contextLocal);
            var result     = (ViewResult)controller.Create();

            Assert.AreEqual("Create", result.ViewName);
        }
        public void GenreControllerTestEditGenre()
        {
            var controller = new GenreController(context);
            var result     = controller.Edit(2) as ViewResult;

            Assert.AreEqual("Edit", result.ViewName);
            var resultGenre = (Genre)result.Model;

            Assert.AreEqual("aRPG", resultGenre.Name);
        }
        public void IndexTest()
        {
            Mock <IUnitOfWork> uow = new Mock <IUnitOfWork>();

            uow.Setup(x => x.GenreRepository.GetAll()).Returns(fakeGenres);
            GenreController GC     = new GenreController(uow.Object);
            var             result = (GC.Index()) as ViewResult;

            result.Model.Should().NotBeNull();
        }
Beispiel #27
0
        public void Get_ReturnsValue()
        {
            var fakeGenereService = A.Fake <IGenreService>();

            A.CallTo(() => fakeGenereService.GetGenre(A <int> .Ignored)).Returns(new Genre());

            var api    = new GenreController(fakeGenereService);
            var result = api.Get(1);

            result.Should().NotBeNull();
        }
Beispiel #28
0
        public void TestGenreDeleteItem()
        {
            //Arrange
            var SqlLiteDataMock = new Mock <IMusicData>();
            var genreController = new GenreController(SqlLiteDataMock.Object);

            //Act
            ActionResult actionResult = genreController.GenreDeleteItem(-1);

            // Assert
            Assert.IsType <NotFoundObjectResult>(actionResult);
        }
Beispiel #29
0
        public void TestGenreGetAllItems()
        {
            //Arrange
            var SqlLiteDataMock = new Mock <IMusicData>();
            var genreController = new GenreController(SqlLiteDataMock.Object);

            //Act
            ActionResult actionResult = genreController.GenreGetAllItems();

            //Assert
            Assert.IsType <OkObjectResult>(actionResult);
        }
Beispiel #30
0
 public Display(FilmCatalogContext context)
 {
     this.movieTagController = new MovieTagController(context);
     this.tagController      = new TagController(context);
     this.movieController    = new MovieController(context);
     this.genreController    = new GenreController(context);
     this.ratingController   = new RatingController(context);
     this.userController     = new UserController(context);
     this.validate           = new Validate(context);
     this.RegisterOrLogin();
     HandleInput();
 }