public void GetWorkshiftElapsedTime_ReturnsTotalWorktimeInMillisecondsIfExists()
        {
            // Arrange
            var startDatetime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 13, 00, 00);
            var stopDatetime  = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 15, 00, 00);

            var workshift = new WorkshiftBuilder().WithId(1).WithTimeblock(1, startDatetime, stopDatetime).Build();
            var workshiftRegistrationViewModel = new WorkshiftRegistrationViewModelBuilder().WithId(1).WithWorkTime(TimeSpan.FromHours(2)).Build();

            var elapsedWorktime = workshiftRegistrationViewModel.WorkTime.TotalMilliseconds;

            _workshiftServiceMock.Setup(x => x.GetWorkshift(It.IsAny <long>()))
            .ReturnsAsync(workshift);

            _mapperMock.Setup(r => r.Map <WorkshiftRegistrationViewModel>(workshift))
            .Returns(workshiftRegistrationViewModel);

            // Act
            var okResult = _controller.GetWorkshiftElapsedTime(1).Result as OkObjectResult;

            // Assert
            Assert.That(okResult, Is.Not.Null);
            Assert.That(okResult.Value, Is.EqualTo(elapsedWorktime));
            _mapperMock.Verify(r => r.Map <WorkshiftRegistrationViewModel>(workshift), Times.Once);
        }
Пример #2
0
        public async Task CheckWorkshiftForNotification_ReturnsNullIfWorkshiftStateIsNotNoStateOrPausedState()
        {
            // Arrange
            var workshift = new WorkshiftBuilder().WithId(1).WithStartedState().Build();

            // Act
            var result = await _notificationService.CheckWorkshiftForNotification(workshift);

            // Assert
            Assert.That(result, Is.Null);
        }
Пример #3
0
        public async Task CheckWorkshiftForNotification_ReturnsNullIfWorkshiftDayNotEqualsCurrentDay()
        {
            // Arrange
            var startDatetime = new DateTime(2019, 01, 01, 13, 00, 00);
            var stopDatetime  = new DateTime(2019, 01, 01, 13, 15, 00);

            var workshift = new WorkshiftBuilder().WithId(1).WithTimeblock(1, startDatetime, stopDatetime).Build();

            // Act
            var result = await _notificationService.CheckWorkshiftForNotification(workshift);

            // Assert
            Assert.That(result, Is.Null);
        }
Пример #4
0
        public async Task StartWorkshift_ShouldReturnFalseWhenStateIsStartedState()
        {
            // Arrange
            var workshift = new WorkshiftBuilder().WithId(1).WithStartedState().Build();

            _workshiftRepositoryMock.Setup(t => t.GetWorkshift(It.IsAny <long>()))
            .ReturnsAsync(workshift);

            // Act
            var result = await _workshiftService.StartWorkshift(workshift.Id);

            // Arrange
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(false));
            _workshiftRepositoryMock.Verify(t => t.GetWorkshift(workshift.Id), Times.Once);
        }
Пример #5
0
        public async Task PauseWorkshift_ShouldReturnTrueWhenStateIsStartedState()
        {
            // Arrange
            var workshift = new WorkshiftBuilder().WithId(1).WithTimeblock(DateTime.Now).WithStartedState().Build();

            _workshiftRepositoryMock.Setup(t => t.GetWorkshift(It.IsAny <long>()))
            .ReturnsAsync(workshift);

            // Act
            var result = await _workshiftService.PauseWorkshift(workshift.Id);

            // Arrange
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(true));
            _workshiftRepositoryMock.Verify(t => t.GetWorkshift(workshift.Id), Times.Once);
            _timeblockRepositoryMock.Verify(t => t.UpdateTimeblock(It.IsAny <Timeblock>(), It.IsAny <Timeblock>()), Times.Once);
        }
        public void GetWorkshift_ReturnsWorkshiftFromService()
        {
            // Arrange
            var workshift          = new WorkshiftBuilder().WithId(1).Build();
            var workshiftViewModel = new WorkshiftViewModelBuilder().WithId(1).Build();

            _workshiftServiceMock.Setup(x => x.GetWorkshift(It.IsAny <long>()))
            .ReturnsAsync(workshift);

            _mapperMock.Setup(r => r.Map <WorkshiftViewModel>(workshift))
            .Returns(workshiftViewModel);

            // Act
            var okResult = _controller.GetWorkshift(workshift.Id).Result as OkObjectResult;

            // Assert
            Assert.That(okResult, Is.Not.Null);
            Assert.That(okResult.Value, Is.EqualTo(workshiftViewModel));
            _mapperMock.Verify(r => r.Map <WorkshiftViewModel>(workshift), Times.Once);
        }
Пример #7
0
        public async Task CheckWorkshiftForNotification_ReturnsNotificationIfWorkshiftStateIsPausedStateAndCurrentDateTimeIsSeventyMinutesLargerThanWorkshiftStartDateTime()
        {
            // Arrange
            var startDatetime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, DateTime.Now.Hour, 00, 00);
            var stopDatetime  = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, DateTime.Now.Hour, 00, 00);

            var workshift = new WorkshiftBuilder().WithId(1).WithTimeblock(DateTime.Now).WithStartDateTime(startDatetime).WithStopDateTime(stopDatetime).WithPausedState().Build();

            var person   = new PersonBuilder().WithId(1).Build();
            var employer = new EmployerBuilder().WithId(1).Build();

            var contract = new ContractBuilder().WithId(1).WithPerson(person).WithEmployer(employer).Build();

            _contractServiceMock.Setup(c => c.GetContractByWorkshiftId(It.IsAny <long>())).ReturnsAsync(contract);

            // Act
            var result = await _notificationService.CheckWorkshiftForNotification(workshift);

            // Assert
            Assert.That(result, Is.Not.Null);
            _contractServiceMock.Verify(c => c.GetContractByWorkshiftId(workshift.Id), Times.Once);
        }