public bool Add(string name, IFormFile image, int age, string description, Gender gender, string ownerId) { if (this.db.HomeCats.Any(c => c.Name == name)) { return(false); } if (!this.db.Users.Any(u => u.Id == ownerId)) { return(false); } var location = this.db .Users .Where(u => u.Id == ownerId) .Select(u => u.Location) .FirstOrDefault(); if (location == null) { return(false); } var cat = new HomeCat { Name = name, Age = age, Description = description, Gender = gender, OwnerId = ownerId, Location = location }; using (var memoryStream = new MemoryStream()) { image.CopyToAsync(memoryStream); cat.Image = memoryStream.ToArray(); } this.db.Add(cat); this.db.SaveChanges(); return(true); }
public void AddHomeCatWithAlreadyUsingUsernameShouldReturnFalse() { // Arrange var db = Tests.GetDatabase(); var user = new User { Email = "*****@*****.**", UserName = "******", Name = "User", Gender = Gender.Male, Birthdate = DateTime.UtcNow, Location = "Sofia", ProfilePhoto = null }; var cat = new HomeCat { Name = "Test", Age = 1, Image = null, Description = "Test Description", Gender = Gender.Male, OwnerId = user.Id, Owner = user }; db.Add(user); db.Add(cat); db.SaveChanges(); var service = new HomeCatService(db); // Act var result = service.Add("Test", null, 1, "Test Description", Gender.Male, user.Id); // Assert result .Should() .BeFalse(); }