public void GivenThisExistingCustomer(Table table) { var values = table.Rows.Single(); _actor.AttemptsTo(DeleteCustomers.WithName(values["Name"])); _storedCustomer = new CustomerInfo( values["Title"], values["Name"], values["Address Line 1"], values["Address Line 2"], values["Address Line 3"], values["Postcode"], values["Home Phone"], values["Mobile"], 1); _actor.AttemptsTo( InsertCustomer.Named(values["Name"]) .Titled(values["Title"]) .OfAddress( values["Address Line 1"], values["Address Line 2"], values["Address Line 3"], values["Postcode"]) .WithHomePhone(values["Home Phone"]) .WithMobile(values["Mobile"])); }
public object Post(InsertCustomer request) { var entity = request.ConvertTo <Customer>(); return(InTransaction(db => { Logic.Add(entity); return new CommonResponse(Logic.GetById(entity.Id)); })); }
public async Task Can_Insert_Customer() { // Arrange var insertCustomerCommand = new InsertCustomer("Innovation", "somecrazynamethatdoesnotexistyet"); // Act var dispatcher = this.GetDispatcher(); var insertCustomerCommandResult = await dispatcher.Command(insertCustomerCommand, false); // Assert Assert.True(insertCustomerCommandResult.Success); }
public void Can_Handle_Insert_Customer() { // Arrange var insertCustomerCommand = new InsertCustomer("Innovation", "somecrazynamethatdoesnotexistyet"); // Act var dispatcher = this.GetDispatcher(); var canCommand = dispatcher.CanCommand(insertCustomerCommand); // Assert Assert.True(canCommand); }
public async Task Can_Handle_Validation_Attributes() { // Arrange var insertCustomerCommand = new InsertCustomer("I", "somecrazynamethatdoesnotexistyet"); // Act var dispatcher = this.GetDispatcher(); var commandResult = (await dispatcher.Command(insertCustomerCommand)).As <CommandResult>(); // Assert Assert.False(commandResult.Success); Assert.Equal("Name needs to be between 3 and 30 characters", commandResult.Errors[0]); }
public async Task Can_Run_Intercept_Expecting_True() { // Arrange var insertCustomerCommand = new InsertCustomer("Innovation", "louislewis2"); // Act var dispatcher = this.GetDispatcher(); var insertCustomerCommandResult = await dispatcher.Command(insertCustomerCommand, false); // Assert Assert.NotNull(insertCustomerCommand.ExistsOnGithub); Assert.True(insertCustomerCommand.ExistsOnGithub.Value); }
public async Task Can_Run_Intercept_Expecting_False() { // Arrange var insertCustomerCommand = new InsertCustomer("Innovation", "somecrazynamethatdoesnotexistyet"); // Act var dispatcher = this.GetDispatcher(); var insertCustomerCommandResult = await dispatcher.Command(insertCustomerCommand, false); // Assert Assert.NotNull(insertCustomerCommand.ExistsOnGithub); Assert.False(insertCustomerCommand.ExistsOnGithub.Value); }
public async Task Can_Insert_Customer() { // Arrange var insertCustomerCriteria = new CustomerCriteria( name: "Innovation", userName: "******"); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var insertCustomerCommandResult = await dispatcher.Command(command : insertCustomerCommand, suppressExceptions : false); // Assert Assert.True(condition: insertCustomerCommandResult.Success); }
public void Can_Handle_Insert_Customer() { // Arrange var insertCustomerCriteria = new CustomerCriteria( name: "Innovation", userName: "******"); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var canCommand = dispatcher.CanCommand(command: insertCustomerCommand); // Assert Assert.True(condition: canCommand); }
public async Task Can_Run_Intercept_Expecting_True() { // Arrange var insertCustomerCriteria = new CustomerCriteria( name: "Innovation", userName: "******"); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var insertCustomerCommandResult = await dispatcher.Command(command : insertCustomerCommand, suppressExceptions : false); // Assert Assert.NotNull(@object: insertCustomerCommand.Criteria.ExistsOnGithub); Assert.True(condition: insertCustomerCommand.Criteria.ExistsOnGithub.Value); }
public async Task Can_Handle_Validation_Attributes() { // Arrange var insertCustomerCriteria = new CustomerCriteria( name: "I", userName: "******"); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var commandResult = (await dispatcher.Command(command: insertCustomerCommand)).As<CommandResult>(); // Assert Assert.False(condition: commandResult.Success); Assert.Equal(expected: "Name needs to be between 3 and 30 characters", actual: commandResult.Errors[0]); }
public async Task Can_Handle_Min_Length_Validation_Attributes() { // Arrange var insertCustomerCriteria = new CustomerCriteria(name: "aa", userName: "******"); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var commandResult = (await dispatcher.Command(command: insertCustomerCommand)).As<CommandResult>(); // Assert Assert.False(condition: commandResult.Success); Assert.Equal(expected: 2, actual: commandResult.Errors.Length); Assert.Equal(expected: "Name needs to be between 3 and 30 characters", actual: commandResult.Errors[0]); Assert.Equal(expected: "UserName needs to be between 10 and 35 characters", actual: commandResult.Errors[1]); }
public async Task Can_Handle_Required_Validation_Attributes() { // Arrange var insertCustomerCriteria = new CustomerCriteria(name: null, userName: null); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var commandResult = (await dispatcher.Command(command: insertCustomerCommand)).As<CommandResult>(); // Assert Assert.False(condition: commandResult.Success); Assert.Equal(expected: 2, actual: commandResult.Errors.Length); Assert.Equal(expected: "The Name field is required.", actual: commandResult.Errors[0]); Assert.Equal(expected: "The UserName field is required.", actual: commandResult.Errors[1]); }
public void GivenTheFollowingCustomers(Table table) { table.Rows.ForEach(values => { _actor.AttemptsTo( DeleteCustomers.WithName(values["Name"]), InsertCustomer.Named(values["Name"]) .Titled(values["Title"]) .OfAddress( values["Address Line 1"], values["Address Line 2"], values["Address Line 3"], values["Postcode"]) .WithHomePhone(values["Home Phone"]) .WithMobile(values["Mobile"])); }); }
public async Task Can_Handle_Regex_Validation_Attributes() { // Arrange var insertCustomerCriteria = new CustomerCriteria( name: "0123#", userName: "******"); var insertCustomerCommand = new InsertCustomer(customerCriteria: insertCustomerCriteria); // Act var dispatcher = this.GetDispatcher(); var commandResult = (await dispatcher.Command(command: insertCustomerCommand)).As<CommandResult>(); // Assert Assert.False(condition: commandResult.Success); Assert.Equal(expected: 2, actual: commandResult.Errors.Length); Assert.Equal(expected: "Name only allows alphanumeric characters", actual: commandResult.Errors[0]); Assert.Equal(expected: "UserName only allows alphanumeric characters", actual: commandResult.Errors[1]); }
public void GivenThisExistingCustomer(Table table) { var values = table.Rows.Single(); _actor.AttemptsTo(DeleteCustomers.WithName(values["Name"])); _actor.AttemptsTo( InsertCustomer.Named(values["Name"]) .Titled(values.GetStringOrDefault("Title")) .OfAddress( values.GetStringOrDefault("Address Line 1"), values.GetStringOrDefault("Address Line 2"), values.GetStringOrDefault("Address Line 3"), values.GetStringOrDefault("Postcode")) .WithHomePhone(values.GetStringOrDefault("Home Phone")) .WithMobile(values.GetStringOrDefault("Mobile")) .WithAccountInvoicingSetTo(values.GetBoolOrDefault("Account Invoicing"))); _storedCustomer = _actor.AsksFor(StoredCustomer.WithName(values["Name"])); }