Skip to content

Commit f1cc723

Browse files
committed
Use the created_at from the parent model when saving a version
1 parent 75d5100 commit f1cc723

9 files changed

Lines changed: 40 additions & 14 deletions

File tree

‎ProcessMaker/Http/Controllers/Api/ProcessController.php‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,6 @@ public function update(Request $request, Process $process)
201201

202202
unset(
203203
$original_attributes['id'],
204-
$original_attributes['created_at'],
205204
$original_attributes['updated_at']
206205
);
207206
$process->versions()->create($original_attributes);

‎ProcessMaker/Http/Controllers/Api/ScreenController.php‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ public function update(Screen $screen, Request $request)
178178

179179
unset(
180180
$original_attributes['id'],
181-
$original_attributes['created_at'],
182181
$original_attributes['updated_at']
183182
);
184183
$screen->versions()->create($original_attributes);

‎ProcessMaker/Http/Controllers/Api/ScriptController.php‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,6 @@ public function update(Script $script, Request $request)
232232

233233
unset(
234234
$original_attributes['id'],
235-
$original_attributes['created_at'],
236235
$original_attributes['updated_at']
237236
);
238237
$script->versions()->create($original_attributes);

‎ProcessMaker/Models/ProcessVersion.php‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
*/
2020
class ProcessVersion extends Model
2121
{
22+
/**
23+
* Do not automatically set created_at
24+
*/
25+
const CREATED_AT = null;
26+
2227
/**
2328
* Attributes that are not mass assignable.
2429
*
@@ -27,7 +32,6 @@ class ProcessVersion extends Model
2732
protected $guarded = [
2833
'id',
2934
'updated_at',
30-
'created_at',
3135
];
3236

3337
/**

‎ProcessMaker/Models/ScreenVersion.php‎

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,23 @@
66

77
class ScreenVersion extends Model
88
{
9-
protected $casts = [
10-
'config' => 'array'
11-
];
9+
/**
10+
* Do not automatically set created_at
11+
*/
12+
const CREATED_AT = null;
1213

1314
/**
14-
* The attributes that aren't mass assignable.
15+
* Attributes that are not mass assignable.
1516
*
16-
* @var array
17+
* @var array $fillable
1718
*/
1819
protected $guarded = [
1920
'id',
20-
'created_at',
2121
'updated_at',
2222
];
23+
24+
protected $casts = [
25+
'config' => 'array'
26+
];
27+
2328
}

‎ProcessMaker/Models/ScriptVersion.php‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@
44

55
use Illuminate\Database\Eloquent\Model;
66

7+
78
class ScriptVersion extends Model
89
{
10+
/**
11+
* Do not automatically set created_at
12+
*/
13+
const CREATED_AT = null;
14+
915
/**
1016
* Attributes that are not mass assignable.
1117
*
@@ -14,6 +20,5 @@ class ScriptVersion extends Model
1420
protected $guarded = [
1521
'id',
1622
'updated_at',
17-
'created_at',
1823
];
1924
}

‎tests/Feature/Api/ScreenTest.php‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,10 @@ public function testUpdateScreen()
219219
{
220220
//Post saved success
221221
$faker = Faker::create();
222-
$screen = factory(Screen::class)->create();
222+
$yesterday = \Carbon\Carbon::now()->subDay();
223+
$screen = factory(Screen::class)->create([
224+
"created_at" => $yesterday,
225+
]);
223226
$original_attributes = $screen->getAttributes();
224227
$url = self::API_TEST_SCREEN . '/' . $screen->id;
225228
$response = $this->apiCall('PUT', $url, [
@@ -237,6 +240,8 @@ public function testUpdateScreen()
237240
$this->assertEquals($version->title, $original_attributes['title']);
238241
$this->assertEquals($version->description, $original_attributes['description']);
239242
$this->assertEquals($version->config, null);
243+
$this->assertEquals((string) $version->created_at, (string) $yesterday);
244+
$this->assertEquals($version->updated_at, $screen->updated_at);
240245
}
241246
/**
242247
* Update Screen Type

‎tests/Feature/Api/ScriptsTest.php‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,10 @@ public function testUpdateScript()
227227
{
228228
$faker = Faker::create();
229229
//Post saved success
230-
$script = factory(Script::class)->create();
230+
$yesterday = \Carbon\Carbon::now()->subDay();
231+
$script = factory(Script::class)->create([
232+
"created_at" => $yesterday,
233+
]);
231234
$original_attributes = $script->getAttributes();
232235
$url = self::API_TEST_SCRIPT . '/' . $script->id;
233236
$response = $this->apiCall('PUT', $url, [
@@ -245,6 +248,8 @@ public function testUpdateScript()
245248
$this->assertEquals($version->title, $original_attributes['title']);
246249
$this->assertEquals($version->language, $original_attributes['language']);
247250
$this->assertEquals($version->code, $original_attributes['code']);
251+
$this->assertEquals((string) $version->created_at, (string) $yesterday);
252+
$this->assertEquals($version->updated_at, $script->updated_at);
248253
}
249254

250255
/**

‎tests/Feature/Shared/ResourceAssertionsTrait.php‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,10 @@ protected function assertModelDeletionFails($id, array $errors = [])
156156
protected function assertModelUpdate($modelClass, array $attributes = [])
157157
{
158158

159-
$base = factory($modelClass)->create();
159+
$yesterday = \Carbon\Carbon::now()->subDay();
160+
$base = factory($modelClass)->create([
161+
"created_at" => $yesterday,
162+
]);
160163
$original_attributes = $base->getAttributes();
161164

162165
$route = route('api.' . $this->resource . '.update', [$base->id]);
@@ -174,6 +177,8 @@ protected function assertModelUpdate($modelClass, array $attributes = [])
174177
$this->assertEquals($version->user_id, $original_attributes['user_id']);
175178
$this->assertEquals($version->name, $original_attributes['name']);
176179
$this->assertEquals($version->description, $original_attributes['description']);
180+
$this->assertEquals((string) $version->created_at, (string) $yesterday);
181+
$this->assertEquals($version->updated_at, $base->updated_at);
177182
}
178183

179184
/**

0 commit comments

Comments
 (0)