Beispiel #1
0
        public async Task ShouldThrowErrorWhenInValidInformation()
        {
            var query = new GetTrainingDetailQuery(_adminUserId, _trainingId + 1, _tenantId);

            await Assert.ThrowsAsync <NotFoundException>(async() =>
                                                         await _queryHandler.Handle(query, CancellationToken.None));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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());
        }