Example #1
0
        public void Call_DateTimeProvider_GetCurrentTime_Once()
        {
            // Arrange
            var     domainFactory           = new Mock <IDomainFactory>();
            var     brandviserData          = new Mock <IBrandviserData>();
            var     dateTimeProvider        = new Mock <IDateTimeProvider>();
            var     whois                   = new Mock <IWhois>();
            var     txtRecordsChecker       = new Mock <ITxtRecordsChecker>();
            var     mockedDomainsRepository = new Mock <IEfRepository <Domain> >();
            var     name   = "name";
            decimal?price  = 1;
            var     domain = new Domain()
            {
                Name = name
            };
            var collection = new List <Domain>();

            collection.Add(domain);

            mockedDomainsRepository.Setup(r => r.All).Returns(collection.AsQueryable <Domain>());
            brandviserData.Setup(b => b.Domains).Returns(mockedDomainsRepository.Object);


            var domainService = new DomainService(brandviserData.Object,
                                                  domainFactory.Object, dateTimeProvider.Object, whois.Object, txtRecordsChecker.Object);

            // Act
            domainService.ApproveDomain(name, price);

            // Assert
            dateTimeProvider.Verify(d => d.GetCurrentTime(), Times.Once());
        }
Example #2
0
        public void Repository_Update_IsCalledWith_CorrectObject()
        {
            // Arrange
            var     domainFactory           = new Mock <IDomainFactory>();
            var     brandviserData          = new Mock <IBrandviserData>();
            var     dateTimeProvider        = new Mock <IDateTimeProvider>();
            var     whois                   = new Mock <IWhois>();
            var     txtRecordsChecker       = new Mock <ITxtRecordsChecker>();
            var     mockedDomainsRepository = new Mock <IEfRepository <Domain> >();
            var     name   = "name";
            decimal?price  = 1;
            var     domain = new Domain()
            {
                Name = name
            };
            var collection = new List <Domain>();

            collection.Add(domain);
            var dateTime = new DateTime(17, 1, 1);

            dateTimeProvider.Setup(d => d.GetCurrentTime()).Returns(dateTime);
            mockedDomainsRepository.Setup(r => r.All).Returns(collection.AsQueryable <Domain>());
            brandviserData.Setup(b => b.Domains).Returns(mockedDomainsRepository.Object);


            var domainService = new DomainService(brandviserData.Object,
                                                  domainFactory.Object, dateTimeProvider.Object, whois.Object, txtRecordsChecker.Object);

            var expectedStatus = 3;

            // Act
            domainService.ApproveDomain(name, price);

            // Assert
            mockedDomainsRepository.Verify(d => d.Update(domain), Times.Once());
            Assert.AreEqual(expectedStatus, domain.StatusId);
            Assert.AreEqual(dateTime, domain.UpdatedAt);
            Assert.AreEqual(price, domain.Price);
            Assert.AreEqual(price, domain.OriginalOwnerCustomPrice);
        }