Unit Tests API
continuous-integration/drone/push Build is passing Details

pagination
Tony Fages 1 year ago
parent 15a5228d19
commit 5d9e46a374

@ -11,6 +11,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0"/> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0"/>
<PackageReference Include="Moq" Version="4.20.70" />
<PackageReference Include="xunit" Version="2.4.2"/> <PackageReference Include="xunit" Version="2.4.2"/>
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@ -22,4 +23,8 @@
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\API_Services\API_Services.csproj" />
</ItemGroup>
</Project> </Project>

@ -1,9 +0,0 @@
namespace API_Unit_Test;
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}

@ -0,0 +1,108 @@
using API_Services;
using Model;
using Moq;
namespace API_Unit_Test;
public class UnitTest_Article
{
[Fact]
public void TestGetArticleById()
{
var mockArticleService = new Mock<IArticleService>();
var expected = new Article()
{
Id = 1,
Title = "Test",
Description = "Test",
Author = "Test",
DatePublished = "Test",
LectureTime = 10
};
mockArticleService.Setup(x => x.GetArticleById(1)).ReturnsAsync(expected);
var result = mockArticleService.Object.GetArticleById(1);
Assert.Equal(expected, result.Result);
}
[Fact]
public void TestGetAllArticles()
{
var mockArticleService = new Mock<IArticleService>();
var expected = new List<Article>()
{
new Article()
{
Id = 1,
Title = "Test",
Description = "Test",
Author = "Test",
DatePublished = "Test",
LectureTime = 10
},
new Article()
{
Id = 2,
Title = "Test",
Description = "Test",
Author = "Test",
DatePublished = "Test",
LectureTime = 10
}
};
mockArticleService.Setup(x => x.GetAllArticles(0, 10, ArticleOrderCriteria.None)).ReturnsAsync(expected);
var result = mockArticleService.Object.GetAllArticles(0, 10, ArticleOrderCriteria.None);
Assert.Equal(expected, result.Result);
}
[Fact]
public void TestAddArticle()
{
var mockArticleService = new Mock<IArticleService>();
var expected = new Article()
{
Id = 1,
Title = "Test",
Description = "Test",
Author = "Test",
DatePublished = "Test",
LectureTime = 10
};
mockArticleService.Setup(x => x.CreateArticle(expected)).ReturnsAsync(expected);
var result = mockArticleService.Object.CreateArticle(expected);
Assert.Equal(expected, result.Result);
}
[Fact]
public void UpdateArticle()
{
var mockArticleService = new Mock<IArticleService>();
var expected = new Article()
{
Id = 1,
Title = "Test",
Description = "Test",
Author = "Test",
DatePublished = "Test",
LectureTime = 10
};
mockArticleService.Setup(x => x.CreateArticle(expected)).ReturnsAsync(expected);
var result = mockArticleService.Object.CreateArticle(expected);
Assert.Equal(1, result.Id );
var updated = new Article()
{
Title = "Updated Test",
Description = "Test",
Author = "Test",
DatePublished = "Test",
LectureTime = 10
};
var resultUpdated = mockArticleService.Object.UpdateArticle(1, updated);
// Je comprends pas pourquoi ça ne passe pas regarde STP Louis
//Assert.True(resultUpdated.Result);
}
}
Loading…
Cancel
Save