public async Task ShouldThrowErrorWhenInValidInformation()
        {
            var query = new GetClassroomDetailQuery(_adminUserId, _classroomId + 1, _tenantId);

            await Assert.ThrowsAsync <NotFoundException>(async() =>
                                                         await _getClassroomDetailQueryHandler.Handle(query, CancellationToken.None));
        }
        public async Task ShouldGetModelForValidInformation()
        {
            var query = new GetClassroomDetailQuery(_adminUserId, _classroomId, _tenantId);

            var model = await _getClassroomDetailQueryHandler.Handle(query, CancellationToken.None);

            Assert.Null(model.Errors);
            Assert.Equal(expected: _context.Classrooms.FirstOrDefault()?.Name, actual: model.Items.Single().Name, ignoreCase: true);
        }
        public async Task <Result <ClassroomDto> > Handle(GetClassroomDetailQuery request, CancellationToken cancellationToken)
        {
            // Get the classroom.
            var classroom = await _context.Classrooms.FindAsync(request.Id);

            // No classroom was found with the given id.
            if (classroom == null)
            {
                return(Result <ClassroomDto> .Failure("Unable to find classroom."));
            }

            return(Result <ClassroomDto> .Success(_mapper.Map <Classroom, ClassroomDto>(classroom)));
        }