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); }
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); }
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); }
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); }