示例#1
0
        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");
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
        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);
        }
示例#8
0
        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);
        }
示例#9
0
        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");
        }