public void Should_return_false_if_page_url_is_not_valid(string url) { var sut = new PageRules(new Mock <IPageRepository>().Object); var actual = sut.IsPageUrlValid(url); Assert.AreEqual(false, actual); }
public void Should_return_true_if_page_name_is_valid(string name) { var sut = new PageRules(new Mock <IPageRepository>().Object); var actual = sut.IsPageNameValid(name); Assert.AreEqual(true, actual); }
public void Should_return_true_if_page_url_is_reserved(string url) { var sut = new PageRules(new Mock <IPageRepository>().Object); var actual = sut.IsPageUrlReserved(url); Assert.AreEqual(true, actual); }
public void Should_return_true_if_page_id_is_unique() { var id = Guid.NewGuid(); var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetById(id)).Returns((Page)null); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsPageIdUnique(id); Assert.AreEqual(true, actual); }
public void Should_return_true_if_page_exists() { var id = Guid.NewGuid(); var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetById(id)).Returns(new Page()); var sut = new PageRules(repositoryMock.Object); var actual = sut.DoesPageExist(id); Assert.AreEqual(true, actual); }
public void Should_return_true_if_localised_slug_is_unique_for_existing_pages() { var siteId = Guid.NewGuid(); var slug = "my-page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetPageIdByLocalisedSlug(siteId, slug)).Returns(Guid.Empty); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsSlugUnique(siteId, slug, Guid.NewGuid()); Assert.AreEqual(true, actual); }
public void Should_return_true_if_page_url_is_unique() { var siteId = Guid.NewGuid(); var url = "my-page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetPageIdBySlug(siteId, url)).Returns(Guid.Empty); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsSlugUnique(siteId, url); Assert.AreEqual(true, actual); }
public void Should_return_true_if_page_name_is_unique() { var siteId = Guid.NewGuid(); var name = "My Page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetPageIdByName(siteId, name)).Returns(Guid.Empty); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsPageNameUnique(siteId, name); Assert.AreEqual(true, actual); }
public void Should_return_false_if_page_url_is_not_unique() { var siteId = Guid.NewGuid(); var url = "my-page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetByUrl(siteId, url)).Returns(new Page()); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsPageUrlUnique(siteId, url); Assert.AreEqual(false, actual); }
public void Should_return_false_if_page_url_is_not_unique_for_existing_pages() { var siteId = Guid.NewGuid(); var pageId = Guid.NewGuid(); var url = "my-page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetPageIdBySlug(siteId, url)).Returns(Guid.NewGuid()); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsSlugUnique(siteId, url, pageId); Assert.AreEqual(false, actual); }
public void Should_return_true_if_page_url_is_unique_for_existing_pages() { var siteId = Guid.NewGuid(); var pageId = Guid.NewGuid(); var url = "my-page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetByUrl(siteId, url)).Returns((Page)null); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsPageUrlUnique(siteId, url, pageId); Assert.AreEqual(true, actual); }
public void Should_return_false_if_page_name_is_not_unique_for_existing_pages() { var siteId = Guid.NewGuid(); var pageId = Guid.NewGuid(); var name = "my-page"; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetByName(siteId, name)).Returns(new Page()); var sut = new PageRules(repositoryMock.Object); var actual = sut.IsPageNameUnique(siteId, name, pageId); Assert.AreEqual(false, actual); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { //---------------------------------------------------- IConfigService configService = new XMLConfigService("Config.xml"); IMessenger messenger_sms = new SmsMessenger(); IMessenger messenger_email = new EmailMessenger(); IPassHasher passHasher = new SHA256Hasher(); IKeyGenerator smallKeyGenerator = new SmallKeyGenerator(); IKeyGenerator bigKeyGenerator = new BigKeyGenerator(); IRegValidator regValidator = new RegValidator(); IUOWFactory UOWFactory = new EFUOWFactory(configService.ConnectionString); IGetUserDTO getUserDTO = new GetUserDTO(); //---------------------------------------------------- IClaimService claimService = new ClaimService(UOWFactory); //---------------------------------------------------- services.AddSingleton <IConfigService, IConfigService>( serviceProvider => { return(configService); } ); //---------------------------------------------------- services.AddSingleton <IGetUserDTO, IGetUserDTO>( serviceProvider => { return(getUserDTO); } ); //---------------------------------------------------- services.AddSingleton <IUOWFactory, IUOWFactory>( serviceProvider => { return(UOWFactory); } ); services.AddSingleton <IClaimService, ClaimService>(); //----------------------------------------------------- services.AddSingleton <IUserService, UserAuthService>( serviceProvider => { return(new UserAuthService( UOWFactory, new AuthKeyService(smallKeyGenerator, messenger_sms), new AuthKeyService(smallKeyGenerator, messenger_email), passHasher, regValidator, claimService, bigKeyGenerator, getUserDTO )); } ); services.AddSingleton <IProfileService, ProfileService>( serviceProvider => { IConfirmService emailCS = new ConfirmService( new ConfirmKeyService(bigKeyGenerator, messenger_email) ); IConfirmService phoneCS = new ConfirmService( new ConfirmKeyService(smallKeyGenerator, messenger_sms) ); return(new ProfileService( UOWFactory, regValidator, emailCS, phoneCS, passHasher, claimService, getUserDTO )); } ); services.AddSingleton <IRestorePasswordService, RestorePasswordService>( serviceProvider => { var emaiCKS = new ConfirmKeyService(bigKeyGenerator, messenger_email); var phoneCKS = new ConfirmKeyService(smallKeyGenerator, messenger_sms); return(new RestorePasswordService(UOWFactory, emaiCKS, phoneCKS, new RegValidator(), passHasher)); } ); //---------Forum Services-------------------------------- IGroupRules groupRules = new GroupRules(); ISectionRules sectionRules = new SectionRules(groupRules); IThemeRules themeRules = new ThemeRules(sectionRules); IMessageRules messageRules = new MessageRules(themeRules, sectionRules); IDTOHelper dtoHelper = new DTOHelper(); IForumDTOHelper forumDTOHelper = new ForumDTOHelper(messageRules, themeRules, sectionRules, groupRules, dtoHelper); services.AddSingleton <IGroupService, GroupService>( serviceProvider => { return(new GroupService(groupRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <ISectionService, SectionService>( serviceProvider => { return(new SectionService(sectionRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <IThemeService, ThemeService>( serviceProvider => { return(new ThemeService(themeRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <IMessageService, MessageService>( serviceProvider => { return(new MessageService(messageRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <IForumService, ForumService>( serviceProvider => { return(new ForumService(getUserDTO, UOWFactory, forumDTOHelper, groupRules)); } ); //--------------------Page Services-------------------- IPageRules pageRules = new PageRules(); INoteRules noteRules = new NoteRules(); services.AddSingleton <IPageService, PageService>( serviceProvider => { return(new PageService(pageRules, UOWFactory, getUserDTO, dtoHelper)); } ); services.AddSingleton <IBlogService, BlogService>( serviceProvider => { return(new BlogService(noteRules, UOWFactory, getUserDTO, dtoHelper)); } ); //------------------------------------------------------- services.AddSingleton <IImageService, ImageService>( serviceProvider => { return(new ImageService(UOWFactory, getUserDTO)); } ); //------------------------------------------- services.AddSingleton <IAdminService, AdminService>( serviceProvider => { return(new AdminService(getUserDTO, UOWFactory)); } ); services.Configure <FormOptions>(x => { x.ValueCountLimit = int.MaxValue; x.MemoryBufferThreshold = int.MaxValue; x.ValueLengthLimit = int.MaxValue; x.MultipartBodyLengthLimit = int.MaxValue; // In case of multipart }); //------------------------------------------------------ services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.LoginPath = new Microsoft.AspNetCore.Http.PathString("/Account/Login"); options.LogoutPath = new Microsoft.AspNetCore.Http.PathString("/Account/Logout"); options.Events.OnValidatePrincipal = PrincipalValidator.ValidateAsync; }); services.AddMvc(); }