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