using System.Collections.Generic; using System.Linq; using NSubstitute; using NUnit.Framework; using ShareeBike.Model.Connector; using ShareeBike.Model.User.Account; namespace SharedBusinessLogic.Tests.Fixtures.ObjectTests.User.Account { [TestFixture] public class TestAccountExtensions { /// If no user is logged in filter is not applied. [Test] public void TestDoFilter_NoUserLoggedIn() { var l_oAccount = Substitute.For(); l_oAccount.Mail.Returns("a@b"); l_oAccount.SessionCookie.Returns(""); // User is not logged in l_oAccount.Group.Returns(new List { $"HOM_{FilterHelper.CARGOBIKE}", "HOM_117025" }); var l_oSource = new List { $"HOM_{FilterHelper.CARGOBIKE}", $"HOM_{FilterHelper.CITYBIKE}", "HOM_117025" }; var l_oResult = l_oAccount.DoFilter(l_oSource); Assert.That(l_oResult.ToList().Count, Is.EqualTo(3)); Assert.That(l_oResult.ToList()[0], Is.EqualTo($"HOM_{FilterHelper.CARGOBIKE}")); Assert.That(l_oResult.ToList()[1], Is.EqualTo($"HOM_{FilterHelper.CITYBIKE}")); Assert.That(l_oResult.ToList()[2], Is.EqualTo("HOM_117025")); } /// [Test] public void TestDoFilter() { var l_oAccount = Substitute.For(); l_oAccount.Mail.Returns("a@b"); l_oAccount.SessionCookie.Returns("123"); l_oAccount.Group.Returns(new List { $"HOM_{FilterHelper.CARGOBIKE}", "HOM_117025" }); var l_oSource = new List { $"HOM_{FilterHelper.CARGOBIKE}", $"HOM_{FilterHelper.CITYBIKE}", "HOM_117025" }; var l_oResult = l_oAccount.DoFilter(l_oSource); Assert.That(l_oResult.ToList().Count, Is.EqualTo(2)); Assert.That(l_oResult.ToList()[0], Is.EqualTo($"HOM_{FilterHelper.CARGOBIKE}")); Assert.That(l_oResult.ToList()[1], Is.EqualTo("HOM_117025")); } } }