50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
|
using System;
|
||
|
using System.Linq;
|
||
|
using System.Threading.Tasks;
|
||
|
using LeedsBeerQuest.API.Data.Contexts;
|
||
|
using LeedsBeerQuest.API.Data.Services;
|
||
|
using Microsoft.EntityFrameworkCore;
|
||
|
using NUnit.Framework;
|
||
|
|
||
|
namespace LeedsBeerQuest.API.Tests.Data.Services;
|
||
|
|
||
|
[TestFixture]
|
||
|
public class VenueServiceTests
|
||
|
{
|
||
|
private LeedsBeerQuestDbContext _context;
|
||
|
private VenueService _venueService;
|
||
|
|
||
|
[SetUp]
|
||
|
public void Setup()
|
||
|
{
|
||
|
var builder = new DbContextOptionsBuilder<LeedsBeerQuestDbContext>()
|
||
|
.UseInMemoryDatabase($"VenueServiceTests.{Guid.NewGuid().ToString()}");
|
||
|
_context = new LeedsBeerQuestDbContext(builder.Options);
|
||
|
|
||
|
_venueService = new VenueService(_context);
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public async Task GetAllVenues_ReturnsAllVenues_WhenAllVenuesArePresentInDatabase()
|
||
|
{
|
||
|
var venueTestData = TestData.VenueTestData.ToArray();
|
||
|
_context.Venues.AddRange(venueTestData);
|
||
|
await _context.SaveChangesAsync();
|
||
|
|
||
|
var result = await _venueService.GetAllVenues();
|
||
|
var resultArray = result.ToArray();
|
||
|
|
||
|
Assert.AreEqual(1, resultArray.Length);
|
||
|
|
||
|
Assert.AreEqual(venueTestData[0].Id, resultArray[0].Id);
|
||
|
Assert.AreEqual(venueTestData[0].Name, resultArray[0].Name);
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public async Task GetAllVenues_ReturnsNoVenues_WhenNoVenuesArePresentInDatabase()
|
||
|
{
|
||
|
var result = await _venueService.GetAllVenues();
|
||
|
|
||
|
Assert.AreEqual(0, result.Count());
|
||
|
}
|
||
|
}
|