Esempio n. 1
0
        public void ImportSingleUserInsufficientValues()
        {
            var membershipRepository = Substitute.For<IMembershipRepository>();
            membershipRepository.GetUser("Henry").Returns(x => null);
            var settingsRepository = Substitute.For<ISettingsRepository>();
            var emailService = Substitute.For<IEmailService>();
            var localisationService = Substitute.For<ILocalizationService>();
            var testData = new List<string>
                                {
                                    "Henry",
                                };
            var membershipService = new MembershipService(membershipRepository, settingsRepository, emailService, localisationService, _activityService, _privateMessageService,
                _membershipUserPointsService, _topicNotificationService, _voteService, _badgeService, _categoryNotificationService, _api, _loggingService);

            var report = membershipService.FromCsv(testData);

            Assert.IsTrue(report.Errors.Count == 1 && report.Errors[0].ErrorWarningType == CsvErrorWarningType.MissingKeyOrValue && report.Warnings.Count == 0);
        }
Esempio n. 2
0
        public void ImportUserExists()
        {
            var membershipRepository = Substitute.For<IMembershipRepository>();
            membershipRepository.GetUser("Henry").Returns(x => new MembershipUser{UserName="******"});
            membershipRepository.GetUser("Alison").Returns(x => null);
            var settingsRepository = Substitute.For<ISettingsRepository>();
            var emailService = Substitute.For<IEmailService>();
            var localisationService = Substitute.For<ILocalizationService>();
            var testData = new List<string>
                                {
                                    "Henry,[email protected],02/04/2011 17:30,18,henry location,,,signature",
                                    "Alison,[email protected],02/04/2011 17:30,18,henry location,,,signature"
                                };
            var membershipService = new MembershipService(membershipRepository, settingsRepository, emailService, localisationService, _activityService, _privateMessageService,
                _membershipUserPointsService, _topicNotificationService, _voteService, _badgeService, _categoryNotificationService, _api, _loggingService);

            var report = membershipService.FromCsv(testData);

            // Second user ok
            membershipRepository.Received().Add(Arg.Is<MembershipUser>(x => x.UserName == "Alison" &&
                x.Email == "*****@*****.**" &&
                x.Age == 18 &&
                x.Location == "henry location" &&
                x.Website == string.Empty &&
                x.Facebook == string.Empty &&
                x.Signature == "signature"));

            // First user failed
            Assert.IsTrue(report.Errors.Count == 1 && report.Errors[0].ErrorWarningType == CsvErrorWarningType.AlreadyExists && report.Warnings.Count == 0);
        }
Esempio n. 3
0
        public void ImportSingleUser()
        {
            var membershipRepository = Substitute.For<IMembershipRepository>();
            membershipRepository.GetUser("Henry").Returns(x => null);
            var settingsRepository = Substitute.For<ISettingsRepository>();
            var emailService = Substitute.For<IEmailService>();
            var localisationService = Substitute.For<ILocalizationService>();
            var testData = new List<string>
                                {
                                    "Henry,[email protected],02/04/2011 17:30,18,henry location,www.henry.com,facebook,signature",
                                };
            var membershipService = new MembershipService(membershipRepository, settingsRepository, emailService, localisationService, _activityService, _privateMessageService,
                _membershipUserPointsService, _topicNotificationService, _voteService, _badgeService, _categoryNotificationService, _api, _loggingService);

            var report = membershipService.FromCsv(testData);

            Assert.IsTrue(report.Errors.Count == 0 && report.Warnings.Count == 0);
        }
Esempio n. 4
0
        public void ImportUserExceptionThrown()
        {
            var membershipRepository = Substitute.For<IMembershipRepository>();

            membershipRepository.GetUser("Henry").Returns(x => null);
            membershipRepository.GetUser("Alison").Returns(x => null);
            membershipRepository.When(x => x.Add(Arg.Any<MembershipUser>())).Do(x => { throw new Exception(); });

            var settingsRepository = Substitute.For<ISettingsRepository>();
            var emailService = Substitute.For<IEmailService>();
            var localisationService = Substitute.For<ILocalizationService>();
            var testData = new List<string>
                                {
                                    "Henry,[email protected],02/04/2011 17:30,18,henry location,,,signature",
                                    "Alison,[email protected],02/04/2011 17:30,18,henry location,,,signature"
                                };
            var membershipService = new MembershipService(membershipRepository, settingsRepository, emailService, localisationService, _activityService, _privateMessageService,
                _membershipUserPointsService, _topicNotificationService, _voteService, _badgeService, _categoryNotificationService, _api, _loggingService);

            var report = membershipService.FromCsv(testData);

            // Second user still processed (but will fail) - checks code does not break out of loop
            membershipRepository.Received().Add(Arg.Is<MembershipUser>(x => x.UserName == "Alison" &&
                x.Email == "*****@*****.**" &&
                x.Age == 18 &&
                x.Location == "henry location" &&
                x.Website == string.Empty &&
                x.Facebook == string.Empty &&
                x.Signature == "signature"));

            Assert.IsTrue(report.Errors.Count == 2 && report.Errors[0].ErrorWarningType == CsvErrorWarningType.GeneralError && report.Warnings.Count == 0);
        }