Пример #1
0
        public async void お知らせを論理削除する()
        {
            // Arrange
            var id           = 100000;
            var announcement = new Announcement(
                new AnnouncementTitle("大会のお知らせ1"),
                "<h3>○○大会のおしらせ</h3>",
                AnnouncementGenre.News,
                new RegisteredDate(new DateTime(2020, 4, 1)),
                new EndDate(new DateTime(2020, 4, 30)),
                attachedFilePath: null
                );

            var mockRepository = new Mock <IAnnouncementRepository>();

            mockRepository.Setup(r => r.FindById(id))
            .ReturnsAsync(announcement)
            .Verifiable();
            var mockFileAccessor = new Mock <IFileAccessor>();
            var usecase          = new AnnouncementUseCase(mockRepository.Object, mockFileAccessor.Object);

            // Act
            await usecase.DeleteAnnouncement(id);

            // Assert
            mockRepository.Verify();
            mockRepository.Verify(u => u.Update(It.IsAny <Announcement>()), Times.Once());
            Assert.NotNull(announcement.DeletedDateTime);
        }