Skip to content
Snippets Groups Projects
Commit 8d1f359b authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6810 implement AttachmentFileMapper

parent 9ae28b79
Branches
Tags
No related merge requests found
...@@ -24,11 +24,18 @@ ...@@ -24,11 +24,18 @@
package de.ozgcloud.nachrichten.file; package de.ozgcloud.nachrichten.file;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import de.ozgcloud.vorgang.grpc.file.GrpcOzgFile; import de.ozgcloud.apilib.file.OzgCloudFile;
import de.ozgcloud.apilib.file.OzgCloudUploadFile;
@Mapper @Mapper
interface AttachmentFileMapper { interface AttachmentFileMapper {
AttachmentFile fromOzgFile(GrpcOzgFile ozgFile); @Mapping(target = "vorgangId", ignore = true)
AttachmentFile fromOzgCloudFile(OzgCloudFile ozgCloudFile);
@Mapping(target = "fileName", source = "name")
@Mapping(target = "fieldName", constant = AttachmentFileService.ATTACHMENT_NAME)
OzgCloudUploadFile toOzgCloudUploadFile(AttachmentFile attachmentFile);
} }
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.file;
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
import de.ozgcloud.apilib.file.OzgCloudFile;
import de.ozgcloud.apilib.file.OzgCloudFileTestFactory;
import de.ozgcloud.apilib.file.OzgCloudUploadFile;
import de.ozgcloud.apilib.file.OzgCloudUploadFileTestFactory;
class AttachmentFileMapperTest {
private final AttachmentFileMapper mapper = Mappers.getMapper(AttachmentFileMapper.class);
@Nested
class TestFromOzgCloudFile {
private static final OzgCloudFile OZG_CLOUD_FILE = OzgCloudFileTestFactory.createBuilder()
.contentType(AttachmentFileTestFactory.CONTENT_TYPE)
.name(AttachmentFileTestFactory.NAME)
.build();
@Test
void shouldMapFromOzgCloudFile() {
var result = mapper.fromOzgCloudFile(OZG_CLOUD_FILE);
assertThat(result).usingRecursiveComparison().ignoringFields("vorgangId").isEqualTo(AttachmentFileTestFactory.create());
}
}
@Nested
class TestToOzgCloudUploadFile {
private static final OzgCloudUploadFile OZG_CLOUD_UPLOAD_FILE = OzgCloudUploadFileTestFactory.createBuilder()
.fieldName(AttachmentFileService.ATTACHMENT_NAME)
.fileName(AttachmentFileTestFactory.NAME)
.contentType(AttachmentFileTestFactory.CONTENT_TYPE)
.vorgangId(AttachmentFileTestFactory.VORGANG_ID)
.build();
@Test
void shouldMapToOzgCloudUploadFile() {
var result = mapper.toOzgCloudUploadFile(AttachmentFileTestFactory.create());
assertThat(result).usingRecursiveComparison().isEqualTo(OZG_CLOUD_UPLOAD_FILE);
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment