コード例 #1
0
        public void ShouldNotSaveTagsIntoDatabaseIfItIsAlreadyThere()
        {
            // Arrange
            DatasourceManagementService datasource = new DatasourceManagementService();
            IUnitOfWork           unitOfWork       = Substitute.For <IUnitOfWork>();
            ILinksTableRepository tableRepository  = Substitute.For <ILinksTableRepository>();

            unitOfWork.LinksTableRepository.Returns(tableRepository);
            string address = "https://en.wikipedia.org";

            tableRepository.ContainsByUrl(Arg.Any <LinkEntity>()).Returns(true);
            // Act
            Task t = datasource.AddToDb(unitOfWork, new LinkInfo {
                Url = address
            });

            // Assert
            Assert.AreEqual("Link is already in database", t.Exception.InnerException.Message);
        }
コード例 #2
0
        public void ShouldSaveTagsIntoDatabase()
        {
            // Arrange
            DatasourceManagementService datasource = new DatasourceManagementService();
            IUnitOfWork           unitOfWork       = Substitute.For <IUnitOfWork>();
            ILinksTableRepository tableRepository  = Substitute.For <ILinksTableRepository>();

            unitOfWork.LinksTableRepository.Returns(tableRepository);
            string address = "https://en.wikipedia.org";

            tableRepository.ContainsByUrl(Arg.Any <LinkEntity>()).Returns(false);
            // Act
            datasource.AddToDb(unitOfWork, new LinkInfo {
                Url = address
            }).Wait();
            // Assert
            unitOfWork.LinksTableRepository.Received(1).AddAsync(
                Arg.Is <LinkEntity>(e => e.Link == address));
        }