Пример #1
0
        public void ByJournal_WithNotExistingJournalId_ShouldReturnBadRequest()
        {
            // Arrange
            Mock <IPublicationService> publicationService = new Mock <IPublicationService>();
            Mock <IJournalService>     journalService     = new Mock <IJournalService>();

            ListPublicationsByJournalViewModel         listModel    = this.GetListPublicationsByJournalViewModel();
            IEnumerable <ListPublicationsServiceModel> publications = null;

            publicationService
            .Setup(p => p.TotalByJournal(It.IsAny <int>()))
            .Returns(20);

            publicationService
            .Setup(p => p.AllByJournal(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns(publications);

            journalService
            .Setup(j => j.GetName(It.IsAny <int>()))
            .Returns("Test Name");

            PublicationsController publicationsController =
                new PublicationsController(null, journalService.Object, null, publicationService.Object, null);

            // Act
            IActionResult result = publicationsController.ByJournal(1, 2);

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
        public IActionResult ByJournal(int id, int page)
        {
            if (page <= 0)
            {
                page = 1;
            }

            int totalEntries = this.publicationService.TotalByJournal(id);

            ListPublicationsByJournalViewModel model = new ListPublicationsByJournalViewModel
            {
                JournalId      = id,
                JournalName    = this.journalService.GetName(id),
                CurrentPage    = page,
                TotalEntries   = totalEntries,
                EntriesPerPage = PublicationsPerPage,
                Publications   = this.publicationService.AllByJournal(id, page, PublicationsPerPage)
            };

            if (model.Publications == null)
            {
                return(BadRequest());
            }

            return(View(model));
        }
Пример #3
0
        private void AssertListPublicationsByJournalViewModel(ListPublicationsByJournalViewModel expected, ListPublicationsByJournalViewModel actual)
        {
            Assert.Equal(expected.JournalId, expected.JournalId);
            Assert.Equal(expected.JournalName, expected.JournalName);

            this.AssertPublicationListServiceModel(expected.Publications.First(), actual.Publications.First());
            this.AssertPublicationListServiceModel(expected.Publications.Last(), actual.Publications.Last());
        }
Пример #4
0
        public void ByJournal_ShouldReturnView()
        {
            // Arrange
            Mock <IPublicationService> publicationService = new Mock <IPublicationService>();
            Mock <IJournalService>     journalService     = new Mock <IJournalService>();

            ListPublicationsByJournalViewModel listModel = this.GetListPublicationsByJournalViewModel();

            publicationService
            .Setup(p => p.TotalByJournal(It.IsAny <int>()))
            .Returns(20);

            publicationService
            .Setup(p => p.AllByJournal(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns(this.GetPublications());

            journalService
            .Setup(j => j.GetName(It.IsAny <int>()))
            .Returns("Journal Name");

            PublicationsController publicationsController =
                new PublicationsController(null, journalService.Object, null, publicationService.Object, null);

            // Act
            IActionResult result = publicationsController.ByJournal(1, 2);

            // Assert
            Assert.IsType <ViewResult>(result);
            object model = (result as ViewResult).Model;

            Assert.IsType <ListPublicationsByJournalViewModel>(model);
            ListPublicationsByJournalViewModel returnModel = model as ListPublicationsByJournalViewModel;

            this.AssertPages(listModel, returnModel);
            this.AssertListPublicationsByJournalViewModel(listModel, returnModel);
        }