using System; using NSubstitute; using NUnit.Framework; using TINK.Model.Connector; using TINK.Repository; namespace TestTINKLib.Fixtures.ObjectTests.Connector { [TestFixture] public class TestConnectorCache { /// /// Verifies that factory method returns correcty type depending on session cookie. /// [Test] public void TestCommandFactory() { var l_oCopri = Substitute.For(); // Construct not logged in version of connector. var l_oCommand = new ConnectorCache( new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)), null /*UI language */, "", // Not logged in "", server: l_oCopri).Command; Assert.AreEqual(typeof(Command), l_oCommand.GetType()); } /// /// Verifies that factory method returns correcty type depending on session cookie. /// [Test] public void TestCommandFactory_LoggedIn() { var l_oCopri = Substitute.For(); var l_oCommand = new ConnectorCache( new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)), null /*UI language */, "123", // Logged in "a@b", server: l_oCopri).Command; Assert.AreEqual(typeof(CommandLoggedIn), l_oCommand.GetType()); } /// /// Verifies that factory method returns correcty type depending on session cookie. /// [Test] public void TestQueryFactory_CachedServer() { var l_oCopri = Substitute.For(); var l_oQuery = new ConnectorCache( new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)), null /*UI language */, "", "", server: l_oCopri).Query; Assert.AreEqual(typeof(TINK.Model.Connector.Query), l_oQuery.GetType()); } /// /// Verifies that factory method returns correcty type depending on session cookie. /// [Test] public void TestQueryFactory_LoggedIn() { var l_oCopri = Substitute.For(); var l_oQuery = new ConnectorCache( new AppContextInfo("MyMerchId", "MyApp", new Version(1, 2)), null /*UI language */, "123", "a@b", server: l_oCopri).Query; Assert.AreEqual(typeof(QueryLoggedIn), l_oQuery.GetType()); } } }