コード例 #1
0
        public void GetAuthor_ShouldReturnFirstAuthor()
        {
            //Author
            var author = SetupAuthors().FirstOrDefault(s => s.AuthorId.Equals(1));

            if (author == null)
            {
                Assert.Fail("Author is null");
            }

            //Create Mock
            mock.Setup(x => x.GetAuthor(1)).Returns(author);

            //Act
            var authorController = new AuthorController(mock.Object);

            UnitTestHelper.SetupControllerForTests(authorController);
            var       result = authorController.Get(1); //J. K. Rowling
            AuthorDTO responseAuthorDto;

            result.TryGetContentValue(out responseAuthorDto);

            //Assert
            Assert.IsNotNull(responseAuthorDto);
            Assert.AreSame(author.Name, responseAuthorDto.Name);
        }
コード例 #2
0
        public async void ReturnsIActionResult()
        {
            DbContextOptions <LibraryDbContext> options =
                new DbContextOptionsBuilder <LibraryDbContext>()
                .UseInMemoryDatabase("AuthorCreateTestDb")
                .Options;

            using (LibraryDbContext context = new LibraryDbContext(options))
            {
                //Arrange
                Author author = new Author();
                author.Name  = "Miss Kitty";
                author.Genre = Genre.Fantasy;

                //Act
                AuthorController ac = new AuthorController(context);

                var x = ac.Create(author);

                var results = context.Authors.Where(a => a.Name == "Miss Kitty");

                //Assert
                Assert.IsAssignableFrom <IActionResult>(x);
            }
        }
コード例 #3
0
        public void Test3()
        {
            List <Author> authors = new List <Author>()
            {
                new Author()
                {
                    Name = "A1"
                },
                new Author()
                {
                    Name = "B2"
                },
                new Author()
                {
                    Name = "B3"
                }
            };

            database = GetDatabase(authors);
            var service = new AuthorController(database, _logger);

            var result = service.Get();

            Assert.AreEqual(200, result.StatusCode);
            var list = ((DbSet <Author>)result.Value).ToList();

            Assert.AreEqual(authors.Count, list.Count);
            for (int i = 0; i < authors.Count; i++)
            {
                Assert.AreEqual(authors[i].Name, list[i].Name);
            }
        }
コード例 #4
0
        public void should_return_Two_author()
        {
            //arrange

            List <Author> _existingAuthors = new List <Author>();
            var           justin           = new Author {
                FirstName = "Justin Noon", LastName = "test1", PhoneNumber = "202020"
            };
            var justin2 = new Author {
                FirstName = "Justin Noon", LastName = "test1", PhoneNumber = "202020"
            };

            _existingAuthors.Add(justin2);
            _existingAuthors.Add(justin);
            var authors = new Mock <IAuthorRepository>();

            authors.Setup(c => c.GetAllAuthors()).Returns(_existingAuthors);
            //act
            AuthorController home = new AuthorController(authors.Object);
            var result            = home.GetAllAuthors().Count();

            Console.WriteLine("The Result is " + result);
            //assert
            Assert.AreEqual(2, result);
        }
コード例 #5
0
        public void Task_Edit_Author_Return_View()
        {
            Assert.Throws <NotImplementedException>(() =>
            {
                //Arrange
                var controller = new AuthorController(context);
                int id         = 1;


                var auth = new Author()
                {
                    AuthorId          = 1,
                    AuthorName        = "saraswati",
                    AuthorDescription = "description",
                    AuthorImage       = "image",
                };

                //Act

                var EditData = controller.Edit(id, auth);

                //Assert
                Assert.IsType <ViewResult>(EditData);
            });
        }
コード例 #6
0
        public void ReturnViewForMainAuthor()
        {
            var sut = new AuthorController();
            Task <IActionResult> result = sut.AuthorHome();

            Assert.IsType <Task <ViewResult> >(result);
        }
コード例 #7
0
        public void Edit_POST_ReturnsRedirectToActionResultIfModelStateIsValid()
        {
            // FakeAuthorRepository and FakeTempData classes - not used
            // arrange

            /*
             * var rep = new FakeAuthorRepository();
             * var controller = new AuthorController(rep)
             * {
             *  TempData = new FakeTempData()
             * };
             */

            // Moq
            // arrange
            var rep        = new Mock <IRepository <Author> >();
            var temp       = new Mock <ITempDataDictionary>();
            var controller = new AuthorController(rep.Object)
            {
                TempData = temp.Object
            };

            // act
            var result = controller.Edit(new Author());

            // assert
            Assert.IsType <RedirectToActionResult>(result);
        }
コード例 #8
0
        public AuthorControllerTests()
        {
            // Initialize DbContext
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseSqlServer("Data Source=(LocalDB)\\MSSQLLocalDB;Database=LibraryApiDB;Trusted_Connection=True;MultipleActiveResultSets=true");
            _context = new AppDbContext(optionsBuilder.Options);

            // Sample Data
            // If there are no test data, let's insert
            var item = _context.Authors.FirstOrDefault(c => c.LastName == "London");

            if (item == null)
            {
                _JackLondonId = _context.Authors.Add(
                    new AuthorItem {
                    FirstName = "Jack", LastName = "London"
                }).Entity.Id;

                _context.SaveChanges();
            }
            else
            {
                _JackLondonId = item.Id;
            }

            // Create a test subject
            _controller             = new AuthorController();
            _controller.AuthorItems = new AuthorSqlRepository(_context);
        }
コード例 #9
0
        private static AuthorController CreateAuthorController(
            IMock <IAuthorRepository> mockAuthorRepository,
            IMapper mapper,
            IMock <ILogger <AuthorController> > mockLogger
            )
        {
            const string locationUrl   = "http://fakelocation/";
            var          mockUrlHelper = new Mock <IUrlHelper>();

            mockUrlHelper
            .Setup(x => x.RouteUrl(It.IsAny <UrlRouteContext>()))
            .Returns(locationUrl);

            var authorController = new AuthorController(
                mockAuthorRepository.Object,
                mapper,
                mockLogger.Object)
            {
                ControllerContext = new ControllerContext
                {
                    HttpContext = new DefaultHttpContext()
                },
                Url = mockUrlHelper.Object
            };


            return(authorController);
        }
コード例 #10
0
ファイル: AuthorWindow.cs プロジェクト: cavidan888/Poster
        private void AddAuthor(object sender, EventArgs e)
        {
            var authorName    = authName.Text;
            var authorSurName = authSurName.Text;

            AuthorController.Create(authorName, authorSurName);
        }
コード例 #11
0
        public void should_return_one_author()
        {
            //arrange


            Author _existingAuthors = new Author()
            {
                Idauth      = 1,
                FirstName   = "Justin1",
                LastName    = "test1",
                PhoneNumber = "202020"
            };



            var authors = new Mock <IAuthorRepository>();

            authors.Setup(c => c.GetAuthorById(1)).ReturnsAsync(_existingAuthors);

            //act
            AuthorController home = new AuthorController(authors.Object);
            var result            = home.GetAuthorById(1);

            Console.WriteLine("Justin1" + result.FirstName);

            //assert
            Assert.AreEqual("Justin1", result.FirstName);
        }
コード例 #12
0
        public void Test5()
        {
            List <Author> authors = new List <Author>()
            {
                new Author()
                {
                    Name = "A1"
                },
                new Author()
                {
                    Name = "B2"
                },
                new Author()
                {
                    Name = "B3"
                }
            };

            database = GetDatabase(authors);
            var service = new AuthorController(database, _logger);

            var result = service.Get("B400");

            Assert.AreEqual(404, result.StatusCode);
            Assert.AreEqual("No authors with this name found", result.Value);
        }
コード例 #13
0
        public void Test6()
        {
            List <Author> authors = new List <Author>()
            {
                new Author()
                {
                    Name = "A1"
                },
                new Author()
                {
                    Name = "B2"
                },
                new Author()
                {
                    Name = "B3"
                }
            };

            database = GetDatabase(authors);
            var service = new AuthorController(database, _logger);

            var result = service.Get("B2");

            Assert.AreEqual(200, result.StatusCode);
            var author = (Author)result.Value;

            Assert.AreEqual("B2", author.Name);
        }
コード例 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AuthorController ac = new AuthorController();

            rptAuthors.DataSource = ac.GetAuthors();
            rptAuthors.DataBind();
        }
コード例 #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                AuthorController ac = new AuthorController();
                //Check if no paratmeter exist, redirect to list page.
                Uri    myUri    = new Uri(Request.Url.ToString());
                string AuthorID = HttpUtility.ParseQueryString(myUri.Query).Get("ID");
                if (AuthorID == null)
                {
                    Response.Redirect("/UserControl/Template/Authors/ListAuthor.aspx");
                }
                ac.GetAuthor(int.Parse(AuthorID));
                txtAuthorName.Text     = ac.AuthorName;
                txtAuthorJobTitle.Text = ac.AuthorJobTitle;
                txtAuthorAddress.Text  = ac.AuthorAddress;
                txtAuthorEmail.Text    = ac.AuthorEmail;
                txtAuthorWebsite.Text  = ac.AuthorWebsite;
                lblFileUploadAuthorPicturePath.Text = ac.AuthorPicture;
                txtAuthorLinkedIn.Text      = ac.AuthorLinkedIn;
                txtAuthorFacebook.Text      = ac.AuthorFacebook;
                txtAuthorTwitter.Text       = ac.AuthorTwitter;
                txtAuthorInstagram.Text     = ac.AuthorInstagram;
                ddlLanguageId.SelectedValue = ac.LanguageID.ToString();

                LanguageController lc = new LanguageController();
                ddlLanguageId.DataSource     = lc.GetLanguages();
                ddlLanguageId.DataTextField  = "LanguageTitle";
                ddlLanguageId.DataValueField = "LanguageID";
                ddlLanguageId.DataBind();
                ddlLanguageId.Items.Insert(0, new ListItem("Select Language", "0"));
            }
        }
コード例 #16
0
        public void Create_PostCallWithInvalidDataReturnsViewResultWithBadStatus()
        {
            var controller = new AuthorController(null, null, null);

            //Problem#1 This controller action uses Response object from HttpContext
            //Unless we supply that it won't
            //Now System provides me a predefined  Mock Object for HttpContext
            var httpContext = new DefaultHttpContext();

            //controoler.HttpContext is readonly
            //controller.HttpContext = httpContext;

            //It is part of ControllerContext
            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = httpContext;


            //Calling Create directly will not run validation and will not
            //Create ModelState Object. This is done by the Mvc Validation Framework
            //And we are not running validation framework
            //I am not testing validation framework
            //My goal is to see, if there is Validation Error,
            //what will be my controllers reaction

            //So we add our own validation error
            controller.ModelState.AddModelError("Name", "Required");

            var result = controller.Create(new Author()
            {
            });

            Assert.IsType <ViewResult>(result);

            Assert.Equal(400, controller.Response.StatusCode);
        }
コード例 #17
0
        protected void Submit_Click(object sender, EventArgs e)
        {
            if (FileUploadAuthorPicture.HasFile)
            {
                string fileName   = FileUploadAuthorPicture.FileName;
                string folderPath = Server.MapPath("~/Files/Images/");
                string image      = "/Files/Images/" + fileName;
                string storeImage = folderPath + fileName;
                if (!Directory.Exists(folderPath))
                {
                    Directory.CreateDirectory(folderPath);
                }
                FileUploadAuthorPicture.SaveAs(storeImage);

                lblFileUploadAuthorPicture.Text      = "Image upload successfully";
                lblFileUploadAuthorPicturePath.Text  = Request.UrlReferrer + image;
                lblFileUploadAuthorPicture.ForeColor = System.Drawing.Color.Green;
            }
            else
            {
                lblFileUploadAuthorPicture.ForeColor = System.Drawing.Color.Red;
                lblFileUploadAuthorPicture.Text      = "Please select Image";
            }

            AuthorController ac = new AuthorController();

            ac.Insert(txtAuthorName.Text, txtAuthorJobTitle.Text, txtAuthorAddress.Text, txtAuthorEmail.Text, txtAuthorWebsite.Text, lblFileUploadAuthorPicturePath.Text, txtAuthorLinkedIn.Text, txtAuthorFacebook.Text, txtAuthorTwitter.Text, txtAuthorInstagram.Text, int.Parse(ddlLanguageId.SelectedValue));
            Response.Redirect("ListAuthor.aspx");
        }
コード例 #18
0
        public void GetAuthors_ShouldReturnAllAuthors()
        {
            //Arrange
            var authors = SetupAuthors();

            if (authors == null)
            {
                Assert.Fail("Authors collection is null");
            }

            //Create Mock
            mock.Setup(x => x.GetAuthors()).Returns(authors);

            var authorController = new AuthorController(mock.Object);

            UnitTestHelper.SetupControllerForTests(authorController);

            //Act
            var result = authorController.Get();
            IEnumerable <AuthorDTO> resultAurhors;

            result.TryGetContentValue(out resultAurhors);

            //Assert
            Assert.IsNotNull(resultAurhors);
        }
コード例 #19
0
 public frmAddBook()
 {
     InitializeComponent();
     _bookController      = new BookController();
     _authorController    = new AuthorController();
     _publisherController = new PublisherController();
     currentBook          = new Book();
 }
コード例 #20
0
        public void IndexViewEqualIndexCshtml()
        {
            AuthorController controller = new AuthorController();

            ViewResult result = controller.Authors() as ViewResult;

            Assert.AreEqual("Authors", result.ViewName);
        }
コード例 #21
0
        public async void Task_GetAuthorById_Return_OkResult()
        {
            var controller = new AuthorController(context);
            var AuthorId   = 1;
            var data       = await controller.Get(AuthorId);

            Assert.IsType <OkObjectResult>(data);
        }
コード例 #22
0
        public void IndexViewResultNotNull()
        {
            AuthorController controller = new AuthorController();

            ViewResult result = controller.Authors() as ViewResult;

            Assert.IsNotNull(result);
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            //base.OnNavigatedTo(e);
            this.authorController = (AuthorController)e.Parameter;

            //Zaktualizowanie listy autorów
            this.updateAuthorCombobox();
        }
コード例 #24
0
ファイル: AuthorTest.cs プロジェクト: DayanePeres/BookStore
 [ClassInitialize] //define que será executado uma vez quando a classe for inicada.
 public static void Setup(TestContext context)
 {
     ConnectionString.SetDev(); //Atalho para limpar a conection string.
     _myContext  = new DataContext().CreateDbContext(new string[] { });
     _repository = new AuthorRepository(_myContext);
     _service    = new AuthorService(_repository);
     _controller = new AuthorController(_service);
 }
コード例 #25
0
        public async void Task_GetAuthorById_Return_NotFound()
        {
            var controller = new AuthorController(context);
            var AuthorId   = 6;
            var data       = await controller.Get(AuthorId);

            Assert.IsType <NotFoundResult>(data);
        }
コード例 #26
0
 public static void Setup(TestContext context)
 {
     ConnectionString.setDev();
     _myContext  = new ContextFactory().CreateDbContext(new string[] { });
     _repository = new AuthorRepository(_myContext);
     _service    = new AuthorService(_repository);
     _controller = new AuthorController(_service);
 }
コード例 #27
0
        public async void NotExistAuthorIdTest()
        {
            AuthorController authorController = new AuthorController(new AuthorRepository(_dataContext));

            var result = (OkObjectResult)await authorController.Get(1);

            Assert.Null(result.Value);
        }
コード例 #28
0
        public void Task_GetBookById_Return_OkResult()
        {
            var controller = new AuthorController(context);
            var BookId     = 1;
            var data       = controller.Display(BookId);

            Assert.IsType <ViewResult>(data);
        }
コード例 #29
0
        public void Test2()
        {
            var service = new AuthorController(database, _logger);

            var result = service.Get();

            Assert.AreEqual(404, result.StatusCode);
            Assert.AreEqual("No authors found", result.Value);
        }
コード例 #30
0
 public MainPage()
 {
     this.InitializeComponent();
     this.setNavbarColor();
     this.signatureController = new SignatureController();
     this.authorController    = new AuthorController(signatureController);
     this.goToDefaultPage(this, null);
     this.showTitleBar(true);
 }