Skip to content

Commit

Permalink
added unit tests for core module WidgetInstanceService (#1077)
Browse files Browse the repository at this point in the history
Co-authored-by: Hisham Bin Ateya <[email protected]>
  • Loading branch information
Arunkumar0610 and hishamco authored Jan 11, 2024
1 parent 1cc3cfe commit dae5acd
Showing 1 changed file with 57 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using System;
using System.Linq;
using Moq;
using SimplCommerce.Infrastructure.Data;
using SimplCommerce.Module.Core.Models;
using SimplCommerce.Module.Core.Services;
using Xunit;

namespace SimplCommerce.Module.Core.Tests.Services
{
public class WidgetInstanceServiceTests
{
[Fact]
public void GetPublished_ShouldReturnPublishedWidgetInstances()
{
// Arrange
var widgetInstances = new[]
{
new WidgetInstance { PublishStart = DateTimeOffset.Now.AddDays(-1), PublishEnd = DateTimeOffset.Now.AddDays(1) },
new WidgetInstance { PublishStart = DateTimeOffset.Now.AddDays(-2), PublishEnd = DateTimeOffset.Now.AddDays(2) }
};

var mockRepository = new Mock<IRepository<WidgetInstance>>();
mockRepository.Setup(x => x.Query()).Returns(widgetInstances.AsQueryable());

var widgetInstanceService = new WidgetInstanceService(mockRepository.Object);

// Act
var result = widgetInstanceService.GetPublished();

// Assert
Assert.Equal(widgetInstances.Length, result.Count());
}

[Fact]
public void GetPublished_ShouldNotReturnUnpublishedWidgetInstances()
{
// Arrange
var widgetInstances = new[]
{
new WidgetInstance { PublishStart = DateTimeOffset.Now.AddDays(1), PublishEnd = DateTimeOffset.Now.AddDays(2) },
new WidgetInstance { PublishStart = null, PublishEnd = DateTimeOffset.Now.AddDays(-1) },
};

var mockRepository = new Mock<IRepository<WidgetInstance>>();
mockRepository.Setup(x => x.Query()).Returns(widgetInstances.AsQueryable());

var widgetInstanceService = new WidgetInstanceService(mockRepository.Object);

// Act
var result = widgetInstanceService.GetPublished();

// Assert
Assert.Empty(result);
}
}
}

0 comments on commit dae5acd

Please sign in to comment.