From 98ef44000af54a817f7db4ac238bb0d6f8f9e887 Mon Sep 17 00:00:00 2001 From: Iacob Calin Ionut Date: Thu, 24 Feb 2022 21:30:01 +0200 Subject: [PATCH] fix:Icon in TechnologyModel is now of Type FileModel,added Technologies folder --- .../TechnologiesControllerTests.cs | 41 +++++++++++++++---- .../TechnologiesController.cs | 0 .../TechnologyModel.cs | 2 +- .../TechnologyRequest.cs | 2 +- .../Technologies/TechnologyResponse.cs | 11 +++++ 5 files changed, 46 insertions(+), 10 deletions(-) rename GdscBackend/{Controllers/v1 => Technologies}/TechnologiesController.cs (100%) rename GdscBackend/{Models => Technologies}/TechnologyModel.cs (79%) rename GdscBackend/{RequestModels => Technologies}/TechnologyRequest.cs (80%) create mode 100644 GdscBackend/Technologies/TechnologyResponse.cs diff --git a/GdscBackend.Tests/TechnologiesControllerTests.cs b/GdscBackend.Tests/TechnologiesControllerTests.cs index 9fc4cb1..cc76cca 100644 --- a/GdscBackend.Tests/TechnologiesControllerTests.cs +++ b/GdscBackend.Tests/TechnologiesControllerTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using AutoMapper; using Faker; @@ -19,10 +20,12 @@ namespace GdscBackend.Tests; public class TechnologiesControllerTests : TestingBase { private readonly IMapper _mapper; - private readonly IEnumerable _testData = _getTestData(); - + private static readonly List _testIcons = _getTestIcons(); + private static readonly IEnumerable _testData = _getTestData(); + public TechnologiesControllerTests(ITestOutputHelper outputHelper) : base(outputHelper) { + var mapconfig = new MapperConfiguration(cfg => cfg.AddProfile(new MappingProfiles())); _mapper = mapconfig.CreateMapper(); } @@ -36,13 +39,13 @@ public async void Post_ReturnsCreatedObject() { Name = Lorem.Words(3).ToString(), Description = Lorem.Sentence(7), - Icon = Lorem.Words(1).ToString() + IconId = Lorem.Words(1).ToString() }; var example2 = new TechnologyRequest { Name = Lorem.Words(3).ToString(), Description = Lorem.Sentence(7), - Icon = Lorem.Words(1).ToString() + IconId = Lorem.Words(1).ToString() }; var added1 = await controller.Post(example1); @@ -60,14 +63,14 @@ public async void Post_ReturnsCreatedObject() Assert.NotNull(entity1.Id); Assert.Equal(StatusCodes.Status201Created, result1.StatusCode); Assert.Equal(example1.Description, entity1.Description); - Assert.Equal(example1.Icon, entity1.Icon); + Assert.Equal(example1.IconId, entity1.Icon.Id); Assert.Equal(example1.Name, entity1.Name); Assert.NotNull(entity2); Assert.NotNull(entity2.Id); Assert.Equal(StatusCodes.Status201Created, result2.StatusCode); Assert.Equal(example2.Description, entity2.Description); - Assert.Equal(example2.Icon, entity2.Icon); + Assert.Equal(example2.IconId, entity2.Icon.Id); Assert.Equal(example2.Name, entity2.Name); } @@ -103,16 +106,38 @@ public async void Delete_ReturnsOkResult() Assert.Equal(_testData.Count() - 1, repository.DbSet.Count()); } + private static List _getTestIcons() + { + var icons = new List(); + for (var i = 0; i < 10; i++) + { + icons.Add(new FileModel + { + Id = Guid.NewGuid().ToString(), + Created = DateTime.UtcNow, + Updated = DateTime.UtcNow, + Name = Lorem.Words(1).ToString(), + Path = Lorem.Words(1).ToString(), + Extension = Lorem.Words(1).ToString(), + Size = RandomNumber.Next(long.MaxValue) + }); + } + + return icons; + } private static IEnumerable _getTestData() { + + var models = new List(); - for (var _ = 0; _ < 10; _++) + for (var i = 0; i < 10; i++) models.Add(new TechnologyModel { Id = Guid.NewGuid().ToString(), Name = Lorem.Words(1).ToString(), Description = Lorem.Words(1).ToString(), - Icon = Lorem.Words(1).ToString() + Icon = _testIcons[i] + }); return models; diff --git a/GdscBackend/Controllers/v1/TechnologiesController.cs b/GdscBackend/Technologies/TechnologiesController.cs similarity index 100% rename from GdscBackend/Controllers/v1/TechnologiesController.cs rename to GdscBackend/Technologies/TechnologiesController.cs diff --git a/GdscBackend/Models/TechnologyModel.cs b/GdscBackend/Technologies/TechnologyModel.cs similarity index 79% rename from GdscBackend/Models/TechnologyModel.cs rename to GdscBackend/Technologies/TechnologyModel.cs index 964672d..8a18110 100644 --- a/GdscBackend/Models/TechnologyModel.cs +++ b/GdscBackend/Technologies/TechnologyModel.cs @@ -4,5 +4,5 @@ public class TechnologyModel : Model { public string Name { get; set; } public string Description { get; set; } - public string Icon { get; set; } + public FileModel Icon { get; set; } } \ No newline at end of file diff --git a/GdscBackend/RequestModels/TechnologyRequest.cs b/GdscBackend/Technologies/TechnologyRequest.cs similarity index 80% rename from GdscBackend/RequestModels/TechnologyRequest.cs rename to GdscBackend/Technologies/TechnologyRequest.cs index dab04e2..410158f 100644 --- a/GdscBackend/RequestModels/TechnologyRequest.cs +++ b/GdscBackend/Technologies/TechnologyRequest.cs @@ -6,5 +6,5 @@ public class TechnologyRequest : Request public string Description { get; set; } - public string Icon { get; set; } + public string IconId { get; set; } } \ No newline at end of file diff --git a/GdscBackend/Technologies/TechnologyResponse.cs b/GdscBackend/Technologies/TechnologyResponse.cs new file mode 100644 index 0000000..d198b4b --- /dev/null +++ b/GdscBackend/Technologies/TechnologyResponse.cs @@ -0,0 +1,11 @@ +namespace GdscBackend.Technologies; + +public class TechnologyResponse +{ + public string Name { get; set; } + + public string Description { get; set; } + + public string Icon { get; set; } + +} \ No newline at end of file