appUserModelTests.

This commit is contained in:
Ruidy Nemausat 2020-02-17 12:08:40 +01:00
parent 96716d8a50
commit bda0c17f89
5 changed files with 86 additions and 71 deletions

View file

@ -51,15 +51,6 @@ namespace TicketManager.Models
return Assignments.Select(a => a.Project).ToList();
}
// public Project GetProject(int id)
// {
// return Assignments.Single(a => a.Project.Id == id).Project;
// }
// public List<AppUser> GetProjectMembers(int id)
// {
// return GetProject(id).GetMembers();
// }
public List<Ticket> GetTickets()
{
List<Ticket> tickets = new List<Ticket>();

View file

@ -76,10 +76,9 @@ namespace TicketManager.Models
{
return this.Assignments.Select(a => a.User).ToList();
}
public void AddMembers(List<AppUser> usersToAdd)
{
var projectUsers = new List<Guid>
(this.Assignments.Select(a => a.UserId));
foreach (var user in usersToAdd)
{
Assignment newAssign = new Assignment
@ -92,6 +91,7 @@ namespace TicketManager.Models
this.Assignments.Add(newAssign);
}
}
public void RemoveMembers(List<AppUser> membersToRemove)
{
this.Assignments.RemoveAll(a => membersToRemove.Contains(a.User));
@ -122,21 +122,10 @@ namespace TicketManager.Models
// public void GetTicketsCount() => this.Tickets.Count();
public void GetTicketsUpdates()
{ throw new NotImplementedException("Not Implemented"); }
public void Close()
{
this.Status = Status.Done;
}
// private void AddLogEntry(string description)//, User user)
// {
// History Edit = new History()
// {
// Description = description,
// ActivityType = ActivityType.Undefined,
// // User = user,
// UpdateDate = DateTime.Now
// };
// this.Edits.Add(Edit);
// }
}
}

View file

@ -1,46 +0,0 @@
using System;
using System.Collections.Generic;
namespace TicketManager.Models
{
public class User
{
public Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName => $"{FirstName} {LastName}";
public string Presentation { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public DateTime Created_at { get; } = DateTime.Now;
public byte[] Picture { get; set; }
// public Role Role { get; set; }
private List<Assignment> _assignments;
public List<Assignment> Assignments
{
get
{
return _assignments ?? new List<Assignment>();
}
set { _assignments = value; }
}
private List<History> _edits;
public List<History> Edits
{
get
{
return _edits ?? new List<History>();
}
set { _edits = value; }
}
// Methods
public void GetProjects() { throw new NotImplementedException("Not Implemented"); }
public void GetProjectMembers() { throw new NotImplementedException("Not Implemented"); }
public void GetTickets() { throw new NotImplementedException("Not Implemented"); }
}
}

View file

@ -0,0 +1,83 @@
using Xunit;
using TicketManager.Models;
namespace TicketManager.Tests
{
public class AppUserModelTests
{
[Fact]
public void GetProjects_Returns3Projects()
{
AppUser user = new AppUser();
Project p1 = new Project();
Project p2 = new Project();
Project p3 = new Project();
Assignment a1 = new Assignment()
{
User = user,
Project = p1
};
user.Assignments.Add(a1);
Assignment a2 = new Assignment()
{
User = user,
Project = p2
};
user.Assignments.Add(a2);
Assignment a3 = new Assignment()
{
User = user,
Project = p3
};
user.Assignments.Add(a3);
var res = user.GetProjects().Count;
Assert.Equal(3, res);
}
[Fact]
public void GetTickets_Returns6Tickets()
{
AppUser user = new AppUser();
Project p1 = new Project();
Project p2 = new Project();
Project p3 = new Project();
Ticket t1 = new Ticket();
Ticket t2 = new Ticket();
Ticket t3 = new Ticket();
Ticket t4 = new Ticket();
Ticket t5 = new Ticket();
Ticket t6 = new Ticket();
Assignment a1 = new Assignment()
{
User = user,
Project = p1
};
user.Assignments.Add(a1);
Assignment a2 = new Assignment()
{
User = user,
Project = p2
};
user.Assignments.Add(a2);
Assignment a3 = new Assignment()
{
User = user,
Project = p3
};
user.Assignments.Add(a3);
p1.Tickets.Add(t1);
p2.Tickets.Add(t2);
p2.Tickets.Add(t3);
p3.Tickets.Add(t4);
p3.Tickets.Add(t5);
p3.Tickets.Add(t6);
var res = user.GetTickets().Count;
Assert.Equal(6, res);
}
}
}

View file

@ -1,8 +1,6 @@
using System.Linq;
using Xunit;
using System.Collections.Generic;
using TicketManager.Controllers;
using TicketManager.Data;
using TicketManager.Models;
namespace TicketManager.Tests