public async void AddNewPage_should_add_page_and_increment_id() { // given string createdBy = "lyon"; DateTime createdOn = DateTime.Today; PageRepository repository = CreateRepository(); Page page = _fixture.Create <Page>(); page.Id = -1; // should be reset page.CreatedBy = createdBy; page.CreatedOn = createdOn; page.LastModifiedBy = createdBy; page.LastModifiedOn = createdOn; // when await repository.AddNewPageAsync(page); Page actualPage = await repository.AddNewPageAsync(page); // then actualPage.ShouldNotBeNull(); actualPage.CreatedOn.ShouldBe(createdOn); actualPage.CreatedBy.ShouldBe(createdBy); Page savedVersion = await repository.GetPageByIdAsync(actualPage.Id); savedVersion.ShouldNotBeNull(); savedVersion.Id.ShouldBeGreaterThanOrEqualTo(1); }
public async Task FindPagesContainingTag_should_find_tags_using_case_insensitive_search() { // given PageRepository repository = CreateRepository(); CreateTenPages(repository); List <Page> pages = _fixture.CreateMany <Page>(3).ToList(); pages.ForEach(p => p.Tags = _fixture.Create <string>() + ", facebook-data-leak"); await repository.AddNewPageAsync(pages[0]); await repository.AddNewPageAsync(pages[1]); await repository.AddNewPageAsync(pages[2]); // when var actualPages = await repository.FindPagesContainingTagAsync("facebook-data-leak"); // then actualPages.Count().ShouldBe(3); actualPages.First(x => x.Id == pages[0].Id).ShouldNotBeNull(); actualPages.First(x => x.Id == pages[1].Id).ShouldNotBeNull(); actualPages.First(x => x.Id == pages[2].Id).ShouldNotBeNull(); }
public async Task FindPagesLastModifiedBy_should_find_pages_with_case_insensitive_search() { // given PageRepository repository = CreateRepository(); CreateTenPages(repository); // add random pages var page1 = _fixture.Create <Page>(); var page2 = _fixture.Create <Page>(); page1.LastModifiedBy = "THAT guy"; page2.LastModifiedBy = "That Guy"; await repository.AddNewPageAsync(page1); await repository.AddNewPageAsync(page2); // when IEnumerable <Page> actualPages = await repository.FindPagesLastModifiedByAsync("that guy"); // then actualPages.Count().ShouldBe(2); actualPages.First(x => x.Id == page1.Id).ShouldNotBeNull(); actualPages.First(x => x.Id == page2.Id).ShouldNotBeNull(); }
public async Task FindPagesCreatedBy_should_find_pages_created_by_with_case_insensitive_search() { // given PageRepository repository = CreateRepository(); CreateTenPages(repository); // add random data var page1 = _fixture.Create <Page>(); var page2 = _fixture.Create <Page>(); page1.CreatedBy = "myself"; page2.CreatedBy = "MYSELf"; await repository.AddNewPageAsync(page1); await repository.AddNewPageAsync(page2); // when IEnumerable <Page> actualPages = await repository.FindPagesCreatedByAsync("myself"); // then actualPages.Count().ShouldBe(2); actualPages.First(x => x.Id == page1.Id).ShouldNotBeNull(); actualPages.First(x => x.Id == page2.Id).ShouldNotBeNull(); }
private async Task CreateHomepage() { // Create a homepage with text through repositories as it's simpler string createdBy = "editor"; DateTime createdOn = DateTime.Today; PageRepository repository = CreatePageRepository(); Page page = _fixture.Create <Page>(); page.Id = -1; // should be reset page.CreatedBy = createdBy; page.CreatedOn = createdOn; page.LastModifiedBy = createdBy; page.LastModifiedOn = createdOn; page.Tags = "homepage"; Page newPage = await repository.AddNewPageAsync(page); _outputHelper.WriteLine($"Created homepage - id: {page.Id}"); PageVersionRepository pageRepository = CreatePageVersionRepository(); PageVersion pageVersion = await pageRepository.AddNewVersionAsync(newPage.Id, "## This is some markdown\nAnd some **bold** text", "editor"); _outputHelper.WriteLine($"Created homepage version - id: {pageVersion.Id}"); }
private List <Page> CreateTenPages(PageRepository repository, List <Page> pages = null) { if (pages == null) { pages = _fixture.CreateMany <Page>(10).ToList(); } var newPages = new List <Page>(); foreach (Page page in pages) { Page newPage = repository.AddNewPageAsync(page).GetAwaiter().GetResult(); newPages.Add(newPage); } return(newPages); }
public async void DeletePage_should_delete_specific_page() { // given PageRepository repository = CreateRepository(); CreateTenPages(repository); var pageToDelete = _fixture.Create <Page>(); await repository.AddNewPageAsync(pageToDelete); // when await repository.DeletePageAsync(pageToDelete.Id); // then var deletedPage = await repository.GetPageByIdAsync(pageToDelete.Id); deletedPage.ShouldBeNull(); }
private List <PageVersion> CreateTenPages(PageVersionRepository repository) { IDocumentStore documentStore = DocumentStoreManager.GetMartenDocumentStore(typeof(PageVersionRepository), _outputHelper); var pageRepository = new PageRepository(documentStore); List <Page> pages = _fixture.CreateMany <Page>(10).ToList(); var pageVersions = new List <PageVersion>(); foreach (Page page in pages) { string text = _fixture.Create <string>(); string author = _fixture.Create <string>(); DateTime dateTime = DateTime.Today; Page newPage = pageRepository.AddNewPageAsync(page).GetAwaiter().GetResult(); PageVersion pageVersion = repository.AddNewVersionAsync(newPage.Id, text, author, dateTime).GetAwaiter().GetResult(); pageVersions.Add(pageVersion); } return(pageVersions); }