aboutsummaryrefslogtreecommitdiff
path: root/src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-04-09 19:51:35 +0300
committerGitHub <noreply@github.com>2021-04-09 19:51:35 +0300
commit233f38915ba0079079233eff55434ef349c05c45 (patch)
tree6c5f69017865bcab87355e910c87339453da1406 /src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs
parentf4a70c6430db923af9fa9958a11c2d6612cb52cc (diff)
parenta992357efcf1bc1ece81b95ecee5e05a0b73bfdc (diff)
downloadDevHive-233f38915ba0079079233eff55434ef349c05c45.tar
DevHive-233f38915ba0079079233eff55434ef349c05c45.tar.gz
DevHive-233f38915ba0079079233eff55434ef349c05c45.zip
Merge pull request #28 from Team-Kaleidoscope/devHEADv0.2mainheroku/main
Second stage: Complete
Diffstat (limited to 'src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs')
-rw-r--r--src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs b/src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs
new file mode 100644
index 0000000..786de7b
--- /dev/null
+++ b/src/Services/DevHive.Services.Tests/ProfilePictureService.Tests.cs
@@ -0,0 +1,84 @@
+using System;
+using System.IO;
+using System.Threading.Tasks;
+using DevHive.Data;
+using DevHive.Data.Interfaces;
+using DevHive.Data.Models;
+using DevHive.Data.Repositories;
+using DevHive.Services.Interfaces;
+using DevHive.Services.Models.ProfilePicture;
+using DevHive.Services.Services;
+using Microsoft.AspNetCore.Http;
+using Microsoft.EntityFrameworkCore;
+using Moq;
+using NUnit.Framework;
+
+namespace DevHive.Services.Tests
+{
+ [TestFixture]
+ public class ProfilePictureServiceTests
+ {
+ private DevHiveContext _context;
+ private Mock<IUserRepository> _userRepositoryMock;
+ private Mock<ProfilePictureRepository> _profilePictureRepository;
+ private Mock<ICloudService> _cloudService;
+ private ProfilePictureService _profilePictureService;
+
+ [SetUp]
+ public void Setup()
+ {
+ DbContextOptionsBuilder<DevHiveContext> options = new DbContextOptionsBuilder<DevHiveContext>()
+ .UseInMemoryDatabase("DevHive_UserRepository_Database");
+ this._context = new DevHiveContext(options.Options);
+ this._userRepositoryMock = new Mock<IUserRepository>();
+ this._profilePictureRepository = new Mock<ProfilePictureRepository>(this._context);
+ this._cloudService = new Mock<ICloudService>();
+
+ this._profilePictureService = new ProfilePictureService(
+ this._userRepositoryMock.Object,
+ this._profilePictureRepository.Object,
+ this._cloudService.Object
+ );
+ }
+
+ // [Test]
+ // public async Task InsertProfilePicture_ShouldInsertProfilePicToDatabaseAndUploadToCloud()
+ // {
+ // //Arrange
+ // Guid userId = Guid.NewGuid();
+ // Mock<IFormFile> fileMock = new();
+ //
+ // //File mocking setup
+ // var content = "Hello World from a Fake File";
+ // var fileName = "test.jpg";
+ // var ms = new MemoryStream();
+ // var writer = new StreamWriter(ms);
+ // writer.Write(content);
+ // writer.Flush();
+ // ms.Position = 0;
+ // fileMock.Setup(p => p.FileName).Returns(fileName);
+ // fileMock.Setup(p => p.Length).Returns(ms.Length);
+ // fileMock.Setup(p => p.OpenReadStream()).Returns(ms);
+ //
+ // //User Setup
+ // this._userRepositoryMock
+ // .Setup(p => p.GetByIdAsync(userId))
+ // .ReturnsAsync(new User()
+ // {
+ // Id = userId
+ // });
+ //
+ // ProfilePictureServiceModel profilePictureServiceModel = new()
+ // {
+ // UserId = userId,
+ // ProfilePictureFormFile = fileMock.Object
+ // };
+ //
+ // //Act
+ // string profilePicURL = await this._profilePictureService.UpdateProfilePicture(profilePictureServiceModel);
+ //
+ // //Assert
+ // Assert.IsNotEmpty(profilePicURL);
+ // }
+ }
+}