public async Task <NetflixTitleDto> Create(NetflixTitleDto dto) { try { dto.Id = Guid.NewGuid(); var netFlixTitleDomain = new NetflixTitleBuilder() .WithTitle(dto.Title) .WithDirector(dto.Director) .WithCountry(dto.Country) .WithDurationMin(dto.DurationMin) .WithCast(dto.Cast) .WithId(dto.Id) .Build(); if (!netFlixTitleDomain.IsValid()) { return(new NetflixTitleDto { ErrorMessage = netFlixTitleDomain.ErrorMessages.FirstOrDefault() }); } await _cassandraContext.InsertAsync(netFlixTitleDomain); } catch (Exception ex) { dto.ErrorMessage = $"Exceção não tratada: {ex.Message}"; } return(dto); }
public void WithoutId_IsInvalid() { var domain = new NetflixTitleBuilder() .WithCast("cast example") .WithDescription("description example") .WithTitle("title example") .Build(); Assert.False(domain.IsValid()); }
public void WithoutDurationMin_IsValid() { var domain = new NetflixTitleBuilder() .WithDescription("description example") .WithTitle("title example") .WithDirector("director example") .WithCast("cast example") .WithId(Guid.NewGuid()) .Build(); Assert.True(domain.IsValid()); }