private static AccountController CreateAccountController()
 {
     return(new AccountController(Mock.Of <IUserProfileRepository>(), new Mock <IAuthentication>().Object, new Mock <IInstitutionRepository>().Object, new Mock <IJournalRepository>().Object)
     {
         Url = HttpContextHelper.CreateUrlHelper()
     });
 }
        public void BulkLicenseImportDeletesInstitutionJournalsWithEmptyLicenseTexts()
        {
            Initialize();
            _controller.Url = HttpContextHelper.CreateUrlHelper();

            var data = UniversityLicenseStubs.SomeLicensesToDelete();

            var journalCount     = 0;
            var institutionCount = 0;

            var journals     = new List <Journal>();
            var institutions = new List <Institution>();

            _bulkImporter.Setup(x => x.Execute(_uploadFile.Object.InputStream)).Returns(data);
            _institutionRepository.Setup(x => x.Find(It.IsAny <string>())).Returns <string>(s =>
            {
                var institution = new Institution {
                    Id = ++institutionCount, ShortName = s
                };
                institutions.Add(institution);

                return(institution);
            });
            _journalRepository.Setup(x => x.FindByIssn(It.IsAny <string>())).Returns <string>(s =>
            {
                var journal = new Journal {
                    Id = ++journalCount, ISSN = s
                };
                journals.Add(journal);

                return(journal);
            });

            _institutionJournalRepository.Setup(x => x.Find(It.IsAny <int>(), It.IsAny <int>())).Returns <int, int>((i, j) => new InstitutionJournal
            {
                Journal     = journals.SingleOrDefault(journal => journal.Id == j),
                Institution = institutions.SingleOrDefault(insitution => insitution.Id == i),
            });

            _controller.BulkImportInstitutionalPrices(_viewModel);

            _institutionJournalRepository.Verify(x => x.InsertOrUpdate(It.IsAny <InstitutionJournal>()), Times.Exactly(3));
            _institutionJournalRepository.Verify(x => x.Delete(It.Is <InstitutionJournal>(y => y.Journal.ISSN == "0219-3094")), Times.Exactly(1));
        }
Example #3
0
 private static AccountController CreateAccountController(
     IBaseScoreCardRepository baseScoreCardRepository           = null,
     IValuationScoreCardRepository valuationScoreCardRepository = null,
     IUserProfileRepository userProfileRepository = null,
     IAuthentication authentication = null,
     IInstitutionRepository institutionRepository = null,
     IJournalRepository journalRepository         = null)
 {
     return(new AccountController(
                baseScoreCardRepository ?? Mock.Of <IBaseScoreCardRepository>(),
                valuationScoreCardRepository ?? Mock.Of <IValuationScoreCardRepository>(),
                userProfileRepository ?? CreateUserProfileRepository(),
                authentication ?? CreateAuthentication(),
                institutionRepository ?? CreateInstitutionRepository(),
                journalRepository ?? Mock.Of <IJournalRepository>())
     {
         Url = HttpContextHelper.CreateUrlHelper()
     });
 }
        public void BulkLicenseImportConvertsInsertsNonExistingInstitutionJournals()
        {
            Initialize();
            _controller.Url = HttpContextHelper.CreateUrlHelper();

            var data = UniversityLicenseStubs.Licenses();

            var journalCount     = 0;
            var institutionCount = 0;

            var journals     = new List <Journal>();
            var institutions = new List <Institution>();

            //var institutions = 1.To(10).Select(i => new Institution { Id = i, Name = $"Test Institution #{i}", ShortName = $"www.{i}.nl"});

            _bulkImporter.Setup(x => x.Execute(_uploadFile.Object.InputStream)).Returns(data);
            _institutionRepository.Setup(x => x.Find(It.IsAny <string>())).Returns <string>(s =>
            {
                var institution = new Institution {
                    Id = ++institutionCount, ShortName = s
                };
                institutions.Add(institution);

                return(institution);
            });
            _journalRepository.Setup(x => x.FindByIssn(It.IsAny <string>())).Returns <string>(s =>
            {
                var journal = new Journal {
                    Id = ++journalCount, ISSN = s
                };
                journals.Add(journal);

                return(journal);
            });

            _controller.BulkImportInstitutionalPrices(_viewModel);

            _institutionJournalRepository.Verify(x => x.InsertOrUpdate(It.IsAny <InstitutionJournal>()), Times.Exactly(16));
        }