public async Task ShouldThrowErrorWhenInValidInformation() { var query = new GetTrainingDetailQuery(_adminUserId, _trainingId + 1, _tenantId); await Assert.ThrowsAsync <NotFoundException>(async() => await _queryHandler.Handle(query, CancellationToken.None)); }
public async Task ShouldGetModelForValidInformation() { var query = new GetTrainingDetailQuery(_adminUserId, _trainingId, _tenantId); var model = await _queryHandler.Handle(query, CancellationToken.None); Assert.Null(model.Errors); Assert.Equal(expected: _context.Trainings.FirstOrDefault()?.Name, actual: model.Items.Single().Name, ignoreCase: true); }
public async Task Handler_ThrowsNotFoundException_WhenTrainingDoesNotExist() { var trainingId = 1; Training nullTraining = null; mockRepo.Setup(x => x.GetTrainingWithWorkers(trainingId)).ReturnsAsync(nullTraining); var query = new GetTrainingDetailQuery { Id = trainingId }; var handler = new GetTrainingDetailQueryHandler(mockRepo.Object); await Assert.ThrowsAsync <NotFoundException>(() => handler.Handle(query, CancellationToken.None)); }
public async Task Handler_ReturnsEmptyCollection_WhenNoWorkersAssigned() { var expectedTraining = GetTrainingWithoutWokrkers(); var trainingId = 1; mockRepo.Setup(x => x.GetTrainingWithWorkers(trainingId)).ReturnsAsync(expectedTraining); var query = new GetTrainingDetailQuery { Id = trainingId }; var handler = new GetTrainingDetailQueryHandler(mockRepo.Object); var viewModel = await handler.Handle(query, CancellationToken.None); Assert.NotNull(viewModel.Workers); Assert.Empty(viewModel.Workers); mockRepo.Verify(x => x.GetTrainingWithWorkers(query.Id), Times.Once()); }
public async Task Handler_ReturnsCorrectViewModel() { var trainingId = 1; var expectedTraining = GetTrainingWithWorkers(); mockRepo.Setup(x => x.GetTrainingWithWorkers(trainingId)).ReturnsAsync(expectedTraining); var query = new GetTrainingDetailQuery { Id = trainingId }; var handler = new GetTrainingDetailQueryHandler(mockRepo.Object); var viewModel = await handler.Handle(query, CancellationToken.None); Assert.Equal(expectedTraining.Description, viewModel.Description); Assert.Equal(expectedTraining.Location, viewModel.Location); Assert.Equal(expectedTraining.WorkerTraining.Count, viewModel.Workers.Count()); mockRepo.Verify(x => x.GetTrainingWithWorkers(query.Id), Times.Once()); }