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()); }
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); }