EnVisageOnline/Main/Source/iniPHIClientControlAPI/iniPHIClientControlAPI.Tests/Controllers/ClientSubscriptionControlle...

65 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Web.Http;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using iniPHIClientControlAPI;
using iniPHIClientControlAPI.Controllers;
using iniPHIClientControlAPI.Models;
using iniPHIClientControlAPI.Tests.helper;
namespace iniPHIClientControlAPI.Tests.Controllers
{
[TestClass]
public class ClientSubscriptionControllerTest
{
private int TESTID = 4;
private int CLIENTID = 1;
private string CLIENTURL = "test";
[TestMethod]
public void UpdateSeatCount()
{
// Arrange
ClientSubscriptionController controller = new ClientSubscriptionController();
// Act
ClientSubscriptionModel result = controller.Get(CLIENTURL);
// Assert
Assert.IsNotNull(result);
Assert.IsTrue((result.InstanceUrl == CLIENTURL));
foreach (ClientSeatModel m in result.SeatCounts)
{
if (m.CurrentUsers == 0)
m.CurrentUsers++;
else if (m.CurrentUsers == m.MaxUsers)
m.CurrentUsers--;
else
m.CurrentUsers++;
var SeatController = new ClientSeatController();
SeatController.Post(m);
ClientSeatModel n=SeatController.Get(m.Id);
Assert.AreEqual(n.CurrentUsers, m.CurrentUsers);
Assert.AreEqual(n.Id, m.Id);
Assert.AreEqual(n.MaxUsers, m.MaxUsers);
Assert.AreEqual(n.Rate.Id, m.Rate.Id);
Assert.AreEqual(n.Rate.Rate, m.Rate.Rate);
Assert.AreEqual(n.Rate.Name, m.Rate.Name);
Assert.AreEqual(n.Rate.IsActive, m.Rate.IsActive);
Assert.AreEqual(n.ClientID, m.ClientID);
Assert.AreEqual(n.UserType.Id, m.UserType.Id);
Assert.AreEqual(n.UserType.IsActive, m.UserType.IsActive);
Assert.AreEqual(n.UserType.Name, m.UserType.Name);
Assert.AreEqual(n.UserType.PerUserPricing, m.UserType.PerUserPricing);
Assert.AreEqual(n.UserType.Token, m.UserType.Token);
}
}
}
}