예제 #1
0
        public void Start_IfStoppedTaskIsStartedAgain_StartedDateUpdated()
        {
            // arrange
            var userId       = 100;
            var token        = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository   = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date         = new Mock <IDateTimeProviderService>();
            var service      = new Mock <IApiService>();
            var shareService = new Mock <IShareService>();
            var api          = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User {
                Id = userId
            });

            // act
            api.Start(token, 1);
            api.Stop(token, 1);
            api.Start(token, 1);

            // assert
            var task = ApiTestsCommonSetup.SubmittedTasks[0];

            Assert.That(task.StartedDate, Is.Not.Null, "stated date has not been set");
            Assert.That(task.StoppedDate, Is.Null, "stopped date has not been reset to null");
            Assert.That(task.Status, Is.EqualTo(1), "task status is not <started>");
        }
예제 #2
0
        public void Stop_IfStoppedTaskIsStartedAgainAndStopped_ActualWorkUpdated()
        {
            // arrange
            var userId       = 100;
            var token        = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository   = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date         = new Mock <IDateTimeProviderService>();
            var service      = new Mock <IApiService>();
            var shareService = new Mock <IShareService>();
            var api          = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            var currentDate = DateTime.UtcNow;

            date.Setup(d => d.UtcNow).Returns(currentDate);
            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User {
                Id = userId
            });

            // act
            api.Start(token, 1);
            date.Setup(d => d.UtcNow).Returns(currentDate.AddSeconds(1));

            api.Stop(token, 1);
            api.Start(token, 1);
            date.Setup(d => d.UtcNow).Returns(currentDate.AddSeconds(2));

            api.Stop(token, 1);

            // assert
            var task = ApiTestsCommonSetup.SubmittedTasks[0];

            Assert.That(task.ActualWork, Is.EqualTo(2), "two seconds have to be stored as actual work");
        }
예제 #3
0
        public void Start_TaskWithSuchIdDoesNotExist_ExceptionThrown()
        {
            // arrange
            var userId       = 100;
            var token        = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository   = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date         = new Mock <IDateTimeProviderService>();
            var service      = new Mock <IApiService>();
            var shareService = new Mock <IShareService>();
            var api          = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User {
                Id = userId
            });

            // act
            api.Start(token, 333);
        }
예제 #4
0
        public void Start_CheckArgumentsBadToken_ExceptionThrown()
        {
            // arrange
            var userId       = 100;
            var token        = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository   = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date         = new Mock <IDateTimeProviderService>();
            var service      = new Mock <IApiService>();
            var shareService = new Mock <IShareService>();
            var api          = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User {
                Id = 0
            });

            // act
            api.Start("bad_token", 0);
        }
        public void Start_TaskStarted_StartedTimeInitialized()
        {
            // arrange
            var userId = 100;
            var token = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date = new Mock<IDateTimeProviderService>();
            var service = new Mock<IApiService>();
            var shareService = new Mock<IShareService>();
            var api = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User { Id = userId });

            // act 
            api.Start(token, 1);

            // assert
            var task = ApiTestsCommonSetup.SubmittedTasks[0];
            Assert.That(task.StartedDate, Is.Not.Null, "stated date has not been set");
            Assert.That(task.StoppedDate, Is.Null, "stopped date has not been reset to null");
            Assert.That(task.Status, Is.EqualTo(1), "task status is not <started>");
        }
        public void Stop_StatedTaskStopped_ActualWorkUpdated()
        {
            // arrange
            var userId = 100;
            var token = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date = new Mock<IDateTimeProviderService>();
            var service = new Mock<IApiService>();
            var shareService = new Mock<IShareService>();
            var api = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            var currentDate = DateTime.UtcNow;
            date.Setup(d => d.UtcNow).Returns(currentDate);
            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User { Id = userId});

            // act 
            api.Start(token, 1);
            date.Setup(d => d.UtcNow).Returns(currentDate.AddSeconds(1));            
            api.Stop(token, 1);

            // assert
            var task = ApiTestsCommonSetup.SubmittedTasks[0];
            Assert.That(task.ActualWork, Is.EqualTo(1), "one second have to be stored as actual work");
        }
        public void Start_TaskWithSuchIdDoesNotExist_ExceptionThrown()
        {
            // arrange
            var userId = 100;
            var token = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date = new Mock<IDateTimeProviderService>();
            var service = new Mock<IApiService>();
            var shareService = new Mock<IShareService>();
            var api = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User { Id = userId });

            // act
            api.Start(token, 333);
        }
        public void Start_CheckArgumentsBadToken_ExceptionThrown()
        {
            // arrange
            var userId = 100;
            var token = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date = new Mock<IDateTimeProviderService>();
            var service = new Mock<IApiService>();
            var shareService = new Mock<IShareService>();
            var api = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User { Id = 0 });

            // act
            api.Start("bad_token", 0);
        }
        public void Stop_IfStoppedTaskIsStartedAgainAndStopped_StoppedUpdated()
        {
            // arrange
            var userId = 100;
            var token = "4a891b4d0bb22f83482f9fb5bafeb4b8";
            var repository = ApiTestsCommonSetup.SetupMockRepository(userId);
            var date = new Mock<IDateTimeProviderService>();
            var service = new Mock<IApiService>();
            var shareService = new Mock<IShareService>();
            var api = new ApiV11Controller(service.Object, repository.Object, date.Object, shareService.Object);

            var currentDate = DateTime.UtcNow;
            date.Setup(d => d.UtcNow).Returns(currentDate);
            service.Setup(s => s.GetUserByApiToken(token)).Returns(new User { Id = userId });

            // act 
            api.Start(token, 1);
            date.Setup(d => d.UtcNow).Returns(currentDate.AddSeconds(1));
            api.Stop(token, 1);
            api.Start(token, 1);
            date.Setup(d => d.UtcNow).Returns(currentDate.AddSeconds(2));
            api.Stop(token, 1);

            // assert
            var task = ApiTestsCommonSetup.SubmittedTasks[0];
            Assert.That(task.StoppedDate, Is.Not.Null, "stopped date initialized");
        }