* Added missing files
This commit is contained in:
50
HeartBeatServer.Tests/Core/AppTests.cs
Normal file
50
HeartBeatServer.Tests/Core/AppTests.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
using HeartBeatServers.Core;
|
||||
using Services.Vault;
|
||||
|
||||
namespace HeartBeatServers.Core
|
||||
{
|
||||
public class AppTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task RunAsync_ShouldInsertHeartBeat_WhenNoPreviousResult()
|
||||
{
|
||||
// Arrange
|
||||
var vaultService = new Mock<IVaultService>();
|
||||
var app = new App(null, vaultService.Object);
|
||||
|
||||
// TODO: Mock vaultService.GetSecretAsync to return connection string
|
||||
// TODO: Mock GetLastUpdateDate to return null via partial or extracting method for test
|
||||
// TODO: Mock InsertHeartBeat to track invocation
|
||||
|
||||
// Act
|
||||
await app.RunAsync();
|
||||
|
||||
// Assert
|
||||
// TODO: Verify InsertHeartBeat was called
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task RunAsync_ShouldUpdateHeartBeat_WhenPreviousResultExists()
|
||||
{
|
||||
// Arrange
|
||||
var vaultService = new Mock<IVaultService>();
|
||||
var app = new App(null, vaultService.Object);
|
||||
|
||||
// TODO: Mock vaultService.GetSecretAsync to return connection string
|
||||
// TODO: Mock GetLastUpdateDate to return a valid ResultModel
|
||||
// TODO: Mock UpdateHeartBeat to track invocation
|
||||
|
||||
// Act
|
||||
await app.RunAsync();
|
||||
|
||||
// Assert
|
||||
// TODO: Verify UpdateHeartBeat was called
|
||||
}
|
||||
|
||||
// Additional tests can be added for private methods via reflection or refactoring
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Xunit;
|
||||
using HeartBeatServers.Services;
|
||||
using Moq;
|
||||
using HeartBeatServers.Models;
|
||||
|
||||
namespace HeartBeatServers.Services
|
||||
{
|
||||
public class IEmailGeneratorServiceTests
|
||||
{
|
||||
[Fact]
|
||||
public void SendEmail_InterfaceMethod_CallMock()
|
||||
{
|
||||
// Arrange
|
||||
var mockService = new Mock<IEmailGeneratorService>();
|
||||
var email = new EmailModel();
|
||||
|
||||
// Act
|
||||
mockService.Object.SendEmail(email);
|
||||
|
||||
// Assert
|
||||
mockService.Verify(s => s.SendEmail(email), Times.Once);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user