public void CanCreateCreateImportWebEventsTaskForActiveClientsWithCorrectLabelAndAlayticsId() { var clientRepository = new LocalRepository <Client>(); var taskQueueStorage = new Mock <ITaskQueueStorage>(); var taskRepository = new LocalRepository <InsideModel.Models.Task>(); var serverTime = new Mock <IServerTime>(); var taskManager = new Mock <ITaskManager>(); var task = new ImportCustomEventsTaskCreator( serverTime.Object, taskManager.Object, taskRepository, clientRepository, taskQueueStorage.Object); var clientLable = new Label() { Id = 1, Name = "Custom Event" }; var client1 = new Client() { Id = 1, Labels = new Collection <Label>() { clientLable }, IsActive = true, AnalyticsTableId = "someId" }; var client2 = new Client() { Id = 2, Labels = new Collection <Label>() { clientLable }, IsActive = true, AnalyticsTableId = "someId" }; var clientWithoutLabel = new Client() { Id = 3 }; clientRepository.Add(client1); clientRepository.Add(client2); clientRepository.Add(clientWithoutLabel); var taskExecutionDate = new DateTime(2014, 01, 01); serverTime.Setup(st => st.RequestStarted).Returns(taskExecutionDate); task.PerformTask(new InsideModel.Models.Task() { Message = "" }); taskQueueStorage.Verify(ts => ts.Add(It.Is <InsideModel.Models.Task>(t => t.Message == "{\"ClientId\":1,\"StartDate\":\"2013-12-29T00:00:00\",\"EndDate\":\"2014-01-01T00:00:00\"}" && t.Type == "ImportCustomEvents")), Times.Exactly(1)); taskQueueStorage.Verify(ts => ts.Add(It.Is <InsideModel.Models.Task>(t => t.Message == "{\"ClientId\":2,\"StartDate\":\"2013-12-29T00:00:00\",\"EndDate\":\"2014-01-01T00:00:00\"}" && t.Type == "ImportCustomEvents")), Times.Exactly(1)); }
public void InActiveClientOrClientWithNoAnalyticIdDontCreateTask() { var clientRepository = new LocalRepository <Client>(); var taskQueueStorage = new Mock <ITaskQueueStorage>(); var taskRepository = new LocalRepository <InsideModel.Models.Task>(); var serverTime = new Mock <IServerTime>(); var taskManager = new Mock <ITaskManager>(); var task = new ImportCustomEventsTaskCreator( serverTime.Object, taskManager.Object, taskRepository, clientRepository, taskQueueStorage.Object); var clientLable = new Label() { Id = 1, Name = "Custom Event" }; var inActiveClient = new Client() { Id = 1, Labels = new Collection <Label>() { clientLable }, AnalyticsTableId = "someId" }; var noAnalyticIdclient = new Client() { Id = 2, Labels = new Collection <Label>() { clientLable }, IsActive = true }; var clientWithoutLabel = new Client() { Id = 3 }; clientRepository.Add(inActiveClient); clientRepository.Add(noAnalyticIdclient); clientRepository.Add(clientWithoutLabel); var taskExecutionDate = new DateTime(2014, 01, 01); serverTime.Setup(st => st.RequestStarted).Returns(taskExecutionDate); task.PerformTask(new InsideModel.Models.Task() { Message = "" }); Assert.AreEqual(0, taskRepository.All().Count()); taskQueueStorage.Verify(ts => ts.Add(It.IsAny <InsideModel.Models.Task>()), Times.Never); }
public void CanConstruct() { var clientRepository = new LocalRepository <Client>(); var taskQueueStorage = new Mock <ITaskQueueStorage>(); var taskRepository = new LocalRepository <InsideModel.Models.Task>(); var serverTime = new Mock <IServerTime>(); var taskManager = new Mock <ITaskManager>(); var task = new ImportCustomEventsTaskCreator( serverTime.Object, taskManager.Object, taskRepository, clientRepository, taskQueueStorage.Object); }
public void TaskInRepositoryDoesntCreatTaskForImportCustomEvents() { var clientRepository = new LocalRepository <Client>(); var taskQueueStorage = new Mock <ITaskQueueStorage>(); var taskRepository = new LocalRepository <InsideModel.Models.Task>(); var serverTime = new Mock <IServerTime>(); var taskManager = new Mock <ITaskManager>(); var task = new ImportCustomEventsTaskCreator( serverTime.Object, taskManager.Object, taskRepository, clientRepository, taskQueueStorage.Object); var taskExecutionDate = new DateTime(2014, 01, 01); serverTime.Setup(st => st.RequestStarted).Returns(taskExecutionDate); var clientLable = new Label() { Id = 1, Name = "Custom Event" }; var client1 = new Client() { Id = 1, Labels = new Collection <Label>() { clientLable }, IsActive = true, AnalyticsTableId = "someId" }; clientRepository.Add(client1); taskManager.Setup( tm => tm.HasTaskInRepository(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(true); task.PerformTask(new InsideModel.Models.Task() { Message = "" }); Assert.AreEqual(0, taskRepository.All().Count()); taskQueueStorage.Verify(ts => ts.Add(It.IsAny <InsideModel.Models.Task>()), Times.Never); }
public void CanPerform() { var clientRepository = new LocalRepository <Client>(); var taskQueueStorage = new Mock <ITaskQueueStorage>(); var taskRepository = new LocalRepository <InsideModel.Models.Task>(); var serverTime = new Mock <IServerTime>(); var taskManager = new Mock <ITaskManager>(); var task = new ImportCustomEventsTaskCreator( serverTime.Object, taskManager.Object, taskRepository, clientRepository, taskQueueStorage.Object); var result = task.CanPerformTask("ImportCustomEventsTaskCreator"); Assert.IsTrue(result); var resultFalse = task.CanPerformTask("This is not a Task"); Assert.IsFalse(resultFalse); }