public async Task AddTextNote_AddsDocumentToRepository() { // arrange var fakeTextRepository = new FakeTextRepository(); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act await service.AddTextNoteAsync("text", "fakeuserid", "categoryid"); // assert Assert.Contains(fakeTextRepository.TextDocuments, d => d.Text == "text" && d.CategoryId == "categoryid" && d.UserId == "fakeuserid"); }
public async Task DeleteTextNote_DeletesDocumentFromRepository() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid", UserId = "fakeuserid" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act await service.DeleteTextNoteAsync("fakeid", "fakeuserid"); // assert Assert.Empty(fakeTextRepository.TextDocuments); }
public async Task DeleteTextNote_ReturnsSuccess() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid", UserId = "fakeuserid" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act var result = await service.DeleteTextNoteAsync("fakeid", "fakeuserid"); // assert Assert.Equal(DeleteTextNoteResult.Success, result); }
public async Task GetTextNote_IncorrectUserId_ReturnsNull() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid", Text = "faketext", CategoryId = "fakecategoryid", UserId = "fakeuserid2" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act var result = await service.GetTextNoteAsync("fakeid", "fakeuserid"); // assert Assert.Null(result); }
public async Task UpdateTextNote_IncorrectUserId_ReturnsSuccess() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid", UserId = "fakeuserid2" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act var result = await service.UpdateTextNoteAsync("fakeid", "fakeuserid", "newtext"); // assert Assert.Equal(UpdateTextNoteResult.NotFound, result); }
public async Task UpdateTextNote_UpdatesDocumentInRepository() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid", Text = "oldtext", CategoryId = "categoryid", UserId = "fakeuserid" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act await service.UpdateTextNoteAsync("fakeid", "fakeuserid", "newtext"); // assert Assert.Equal("newtext", fakeTextRepository.TextDocuments.Single().Text); }
public async Task DeleteTextNote_PublishesTextDeletedEventToEventGrid() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid", UserId = "fakeuserid" }); var mockEventGridPublisherService = new Mock <IEventGridPublisherService>(); var service = new TextService(fakeTextRepository, mockEventGridPublisherService.Object); // act await service.DeleteTextNoteAsync("fakeid", "fakeuserid"); // assert mockEventGridPublisherService.Verify(m => m.PostEventGridEventAsync(EventTypes.Text.TextDeleted, "fakeuserid/fakeid", It.IsAny <TextDeletedEventData>()), Times.Once); }
public async Task ListTextNotes_DoesNotReturnsIdsForAnotherUser() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid1", UserId = "fakeuserid" }); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid2", UserId = "fakeuserid2" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act var result = await service.ListTextNotesAsync("fakeuserid"); // assert Assert.Single(result); Assert.Equal("fakeid1", result.Single().Id); }
public async Task ListTextNotes_ReturnsIds() { // arrange var fakeTextRepository = new FakeTextRepository(); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid1", UserId = "fakeuserid", Text = "faketext1" }); fakeTextRepository.TextDocuments.Add(new TextDocument { Id = "fakeid2", UserId = "fakeuserid", Text = "faketext2" }); var service = new TextService(fakeTextRepository, new Mock <IEventGridPublisherService>().Object); // act var result = await service.ListTextNotesAsync("fakeuserid"); // assert Assert.Equal(2, result.Count); Assert.Contains(result, s => s.Id == "fakeid1" && s.Preview == "faketext1"); Assert.Contains(result, s => s.Id == "fakeid2" && s.Preview == "faketext2"); }