public void AsAnonymous_ShouldReturnUnauthorizedAccessException()
        {
            var query = new GetDokumentFürVermittlerQuery();

            FluentActions.Invoking(() =>
                                   SendAsync(query)).Should().Throw <UnauthorizedAccessException>();
        }
        public void AsAdmin_UnexistingVermittler_ShouldReturnNotFoundException()
        {
            var user = RunAsAdminUser();

            var query = new GetDokumentFürVermittlerQuery()
            {
                Id = 1
            };

            user.IsAdmin.Should().BeTrue();
            FluentActions.Invoking(() =>
                                   SendAsync(query)).Should().Throw <NotFoundException>();
        }
        public async Task AsAdmin_UnexistingDokument_ShouldReturnNotFoundException()
        {
            var user = RunAsAdminUser();

            await CreateVermittlerMitDokument();

            var query = new GetDokumentFürVermittlerQuery()
            {
                Id         = 1,
                DokumentId = 40
            };

            user.IsAdmin.Should().BeTrue();
            FluentActions.Invoking(() =>
                                   SendAsync(query)).Should().Throw <NotFoundException>();
        }
        public async Task AsBearbeiter_ShouldReturnVermittlerDokumentDto()
        {
            var user = RunAsBearbeiterUser();

            await CreateVermittlerMitDokument();

            var query = new GetDokumentFürVermittlerQuery()
            {
                Id         = 1,
                DokumentId = 1
            };

            var result = await SendAsync(query);

            user.IsBearbeiter.Should().BeTrue();
            result.GetType().Should().Be <VermittlerDokumentDto>();
            result.DokuemntenArtId.Should().Be(1);
            result.FileExtension.Should().Be(FileExtension.pdf.ToString());
        }